将json数据转换为javascript数组-多维意义

将json数据转换为javascript数组-多维意义,javascript,json,multidimensional-array,Javascript,Json,Multidimensional Array,我有一个json数组 { "People": { "Person": [ {"FirstName": "John", "LastName": "Smith"} {"FirstName": "Joe", "LastName": "Bloggs"} {"FirstName": "Wendy", "LastName": "Deng"} ] } } 我想把它转换成一个javascript数组(类似这

我有一个json数组

{
   "People": {
       "Person": [
          {"FirstName": "John", "LastName": "Smith"}
          {"FirstName": "Joe", "LastName": "Bloggs"}
          {"FirstName": "Wendy", "LastName": "Deng"}
        ]
    }
}
我想把它转换成一个
javascript
数组(类似这样的)

我如何做到这一点?希望我的问题有意义,我意识到javascript数组初始化可能不是正确的方式

谢谢。

jsiddle演示:


你想做的事没有多大意义。将现有的有效JSON对象转换为指定的数组格式是毫无意义的,并且会使访问元素变得困难

听起来你真正想做的是:

var data = JSON.parse(jsonString); // Your JSON, parsed into a JS object.
var persons = []
data.people.person.foEach( function(el) {
  person.push(el.FirstName + " " + el.LastName);
}
现在
persons
看起来像这样:

["John Smith", "Joe Bloggs", "Wendy Deng"]
你确定你知道JSON和JavaScript对象是如何工作的吗

var myJSON = '{ "foo": { "bar": { "baz" : [1,2,3] } } }' // JSON, String type.
var myObj = JSON.parse(myJSON); // Now a JS Object type.
var innerArray = myObj.foo.bar.baz;
现在变量
innerArray
的值是
[1,2,3]
,一种
数组
类型

console.log(innerArray[0]); // Log the first element.

> 1 // First element is 1

你为什么要这么做?为什么不将JSON用作JavaScript对象呢?原因有二:1。我很好奇,是否有任何好的类似数组的数据结构可以用来在json中执行数据操作,比如二进制搜索、二进制排序等,而不是javascript对象。2.首先,
JSON
是一种数据交换格式,用字符串表示
JSON
格式可以直接映射到JavaScript类型,包括
Object
Array
。您的问题不涉及为什么要这样做,也许这会帮助您理解JSON和JavaScript对象的用法。谢谢。我会试试看,在我的实验中试一下。干杯@AW-GWTF899,好吧!json就是这样一种数据结构,你可以随心所欲地使用:)好吧,实际上我上面提供的示例是一个粗略的草图,我只是当场编出来的。我想要的实际示例是更多(和复杂)的json数据,我想提取json中我更感兴趣的某些元素,然后放入另一个数组。@AW-GWTF899-您是否打算像示例中那样将键作为字符串存储在嵌套数组中?因为它们对于数组中的每个对象都是相同的,这对我来说似乎有点无用。{“responseData”:“translatedText”:“\u6211”},“responseDetails”:“responseStatus”:200,“matches”:[{“id”:“175389268”,“segment”:“I”,“translation”:“\u6211”,“quality”:“74”,“reference”:“,“usage count”:2,“subject”:“Social_Science”,“created by”:“UN”,“上次更新者”:null,“创建日期”:“0000-00-00 00 00:00:00”,“上次更新日期”:“2010-11-13 15:05:19”,“匹配者”:1},{“id”:“430922621”,“段”:“I.”,“翻译”:“I.”,“质量”:“74”,“参考”:“使用计数”:26,“主题”:“全部”,“创建者”:“上次更新者”:null,“创建日期”:“2012-08-17 13:09:06”,“上次更新日期”:“2012-08-17 13:09:06”,“匹配”“:1}}这是我的json数据示例。基本上,我希望从该数据中选择存储在另一个数组中的“matches”数组元素作为键,我希望忽略json数据中的其余元素。如果有意义的话,只需匹配键部分。@AW-GWTF899-它甚至不是有效的json。
var myJSON = '{ "foo": { "bar": { "baz" : [1,2,3] } } }' // JSON, String type.
var myObj = JSON.parse(myJSON); // Now a JS Object type.
var innerArray = myObj.foo.bar.baz;
console.log(innerArray[0]); // Log the first element.

> 1 // First element is 1