两个带有json键的数组[重复]

Posted

技术标签:

【中文标题】两个带有json键的数组[重复]【英文标题】:Two arrays with keys to json [duplicate] 【发布时间】:2015-12-13 17:46:30 【问题描述】:

我需要知道如何将这些数据存储到一个或两个带有键的数组中,并将它们导出为 json 格式。

这是我正在解析的 XML 输入:

<a id="12">
    <n>Usa</n>
<a id="28">
    <n>Maroko</n>
</a>
<a id="33">
    <n>Finland</n>
</a>
<a id="41">
    <n>Russia</n>
</a>

解析这些数据我没有问题,但是我应该如何将这些数据存储到带有键(“id”,“country”)的数组中,并使用 json_encode 导出到 json。我想得到这个输出:

[
   
      "id":"12",
      "country":"Usa"
   ,
   
      "id":"28",
      "country":"Maroko"
   ,
   
      "id":"33",
      "country":"Finland"
   ,
   
      "id":"41",
      "country":"Russia"
   
]

我知道,很简单,但我找不到答案。非常感谢

【问题讨论】:

展示你如何解析数据。 你得到那个 json 格式的代码在哪里? @aldrin27 OP 要求它;) @RobbieAverill 我明白了。 :D 【参考方案1】:

如果您对解析 XML 中的数据感到满意,那么在 php 中将数据放入数组中,只需这样做:

$data = []; // empty array
$data[] = array("id" => "12", "country" => "Usa"); // push new data array into array
$data[] = array("id" => "28", "country" => "Maroko");
$data[] = array("id" => "33", "country" => "Finland");
$data[] = array("id" => "41", "country" => "Russia");

然后将其编码为 JSON:

$json = json_encode($data);

print $json;

【讨论】:

以上是关于两个带有json键的数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

mysql按带有数组键的字符串排序[重复]

将字符串转换为具有重复键的对象到数组

从JSON中获取重复的对象键的值,并只用一个键替换返回。

PHP将带有一些(重复)元素的XML转换为Json到Json数组[重复]

带有向量作为键的 STL 映射

json_encode() 转义 / 带有 \ [重复]