javascript:解析多级json数组
我有一个返回多级数组的asp.net web服务 使用json2.js库解析json字符串:javascript:解析多级json数组,javascript,arrays,json,parsing,Javascript,Arrays,Json,Parsing,我有一个返回多级数组的asp.net web服务 使用json2.js库解析json字符串: var donnee = JSON.parse(msg.d); 第一级解析是可以的,但是第二级数组(数据)仍然是一个对象数组 ??唐尼[0] ??donnee[0]。数据 ??donnee[0]。数据[0] 而我需要一个数据数组,例如 ??唐尼[0] ??donnee[0]。数据 ??donnee[0]。数据[0] 一次解码/解析所有级别的json字符串的最佳方法是什么 致以最诚挚的问候到目前为止,我
var donnee = JSON.parse(msg.d);
第一级解析是可以的,但是第二级数组(数据)仍然是一个对象数组
??唐尼[0]
??donnee[0]。数据
??donnee[0]。数据[0]
而我需要一个数据数组,例如
??唐尼[0]
??donnee[0]。数据
??donnee[0]。数据[0]
一次解码/解析所有级别的json字符串的最佳方法是什么
致以最诚挚的问候到目前为止,我还没有找到在纯数组中解码json字符串的简单解决方案。现在,我解析字符串并直接用数组替换对象
var donnee = JSON.parse(msg.d);
for (var i in donnee) {
if (donnee.hasOwnProperty(i)) {
datas[i] = donnee[i];
for (var j in donnee[i]) {
if (donnee[i].hasOwnProperty(j)) {
var lev2 = donnee[i][j];
if (typeof lev2 == "object") {
for (var k in donnee[i][j]) {
var lev3 = donnee[i][j][k];
datas[i].data[k] = new Array(lev3.x, lev3.y, lev3.l);
}
}
}
}
}
}
它已经被完全“解析”。JSON解析器就是这样做的,除非对象包含本身是JSON序列化对象的字符串(显然,这里不是这种情况;如果是,您将看到字符串,而不是对象或对象数组)。谢谢您的快速回复。您的意思是我需要首先将第二级序列化为字符串,然后将此字符串用作第一级的属性,然后序列化整个数据吗?不,我不是这个意思。“解析”初始JSON字符串的工作完全通过调用“JSON.parse()”完成。您必须执行的任务是遍历生成的数据结构。这个JSON来自哪里?如果您不知道数据的结构是什么,您将如何使用它?没问题,这是我的web服务。详情如下:
[[object Object],[object Object]]
[0]: {...}
[1]: {...}
{...}
_l: ""
_x: 7
_y: 25
{...}
label: "traitement formol 2"
type: "traitement"
color: "#0000CD"
data: [7,25,,7,40,formol]
[7,25,,7,40,formol]
[0]: [7,25,]
[1]: [7,40,formol]
[7,25,]
[0]: 7
[1]: 25
[2]: ""
var donnee = JSON.parse(msg.d);
for (var i in donnee) {
if (donnee.hasOwnProperty(i)) {
datas[i] = donnee[i];
for (var j in donnee[i]) {
if (donnee[i].hasOwnProperty(j)) {
var lev2 = donnee[i][j];
if (typeof lev2 == "object") {
for (var k in donnee[i][j]) {
var lev3 = donnee[i][j][k];
datas[i].data[k] = new Array(lev3.x, lev3.y, lev3.l);
}
}
}
}
}
}