Javascript 未找到JSON呈现密钥数据

Javascript 未找到JSON呈现密钥数据,javascript,json,Javascript,Json,我有一个JSON字符串,如下所示: {"{\"nodeName\":\"abc\"}":[{"url":"abc","status":true},{"url":"abc","status":true}]," {\"nodeName\":\"pqr\"}":[{"url":"abc","status":true},{"url":"abc","status":true}]} json.put(js.toString(),jsarray) 我可以使用下面的查询代码获取值(v),但无法获取

我有一个JSON字符串,如下所示:

{"{\"nodeName\":\"abc\"}":[{"url":"abc","status":true},{"url":"abc","status":true}],"      {\"nodeName\":\"pqr\"}":[{"url":"abc","status":true},{"url":"abc","status":true}]}
json.put(js.toString(),jsarray)
我可以使用下面的查询代码获取值(v),但无法获取键(k)。我处于警戒状态(未定义abc true)。k的值未定义

 $.each(obj, function() {
      $.each(this, function(k, v) {
    alert(k.nodeName +" "+ v.url +" "+v.status);
     });
    });
我需要(k)的值来进一步验证。我已经验证了JSON字符串,以确保它是有效的,那么我在这里遗漏了什么,或者还有其他方法吗??请帮忙

另外,我从服务器端传递json对象,如下所示:

{"{\"nodeName\":\"abc\"}":[{"url":"abc","status":true},{"url":"abc","status":true}],"      {\"nodeName\":\"pqr\"}":[{"url":"abc","status":true},{"url":"abc","status":true}]}
json.put(js.toString(),jsarray)
在哪里

json = json OBject,
js = json Object,
jsarray = json Array.

键总是字符串。在本例中,键似乎包含JSON本身。您必须首先将JSON解析为一个对象。看

但老实说,这是一个非常混乱的数据结构。最好直接使用节点名作为键,即JSON看起来像
{“abc”:[…],“pgr”:[…],…}

然后您可以这样访问数据:

$.each(obj, function(key, arr) {
    $.each(arr, function(_, v) {
        alert(key +" "+ v.url +" "+v.status);
    });
});

键总是字符串。在本例中,键似乎包含JSON本身。您必须首先将JSON解析为一个对象。看

但老实说,这是一个非常混乱的数据结构。最好直接使用节点名作为键,即JSON看起来像
{“abc”:[…],“pgr”:[…],…}

然后您可以这样访问数据:

$.each(obj, function(key, arr) {
    $.each(arr, function(_, v) {
        alert(key +" "+ v.url +" "+v.status);
    });
});

键总是字符串。在本例中,键似乎包含JSON本身。您必须首先将JSON解析为一个对象。看见但老实说,这是一个非常混乱的数据结构。最好直接使用节点名作为键,即JSON看起来像
{“abc”:[…],“pgr”:[…],…}
。我已将JSON字符串更改如下:{“abc”:[{“url”:[{“url”:“asd”,“status”:true},{“url”:“as”,“status”:true}],“xyz”:[{“url”:“as”,“status”:false},{“url”:“as”,“status”:true}}但我需要键名作为abc,xyz但在迭代时,它给出的是0,1请看我的答案。在内部的
$中,每个
都迭代该值,即数组。您想要的密钥来自外部
$。每个
循环。密钥始终为字符串。在本例中,键似乎包含JSON本身。您必须首先将JSON解析为一个对象。看见但老实说,这是一个非常混乱的数据结构。最好直接使用节点名作为键,即JSON看起来像
{“abc”:[…],“pgr”:[…],…}
。我已将JSON字符串更改如下:{“abc”:[{“url”:[{“url”:“asd”,“status”:true},{“url”:“as”,“status”:true}],“xyz”:[{“url”:“as”,“status”:false},{“url”:“as”,“status”:true}}但我需要键名作为abc,xyz但在迭代时,它给出的是0,1请看我的答案。在内部的
$中,每个
都迭代该值,即数组。您想要的钥匙来自外部
$。每个
循环。谢谢@Felix Kling。。。。这对我有用。我一直在寻找这个解决方案,因为过去2天。非常感谢:)不客气!当您得到解决问题的答案时,请单击旁边的复选标记“接受”它(您始终只能接受一个答案)。这也向其他人表明这个问题已经解决了。这个解决方案对我很有效。我可以在alert中获取该值,但当我试图在jstl:set中设置该值时,它不起作用。但关键是在jstl:set中设置,我不知道
jstl:set
是什么,所以我无法真正帮助您。抱歉,请告诉我如何将json数组(v.url和v.status)的值转换成javascript字符串???谢谢@Felix Kling。。。。这对我有用。我一直在寻找这个解决方案,因为过去2天。非常感谢:)不客气!当您得到解决问题的答案时,请单击旁边的复选标记“接受”它(您始终只能接受一个答案)。这也向其他人表明这个问题已经解决了。这个解决方案对我很有效。我可以在alert中获取该值,但当我试图在jstl:set中设置该值时,它不起作用。但关键是在jstl:set中设置,我不知道
jstl:set
是什么,所以我无法真正帮助您。抱歉,请告诉我如何将json数组(v.url和v.status)的值转换为javascript字符串???