我在本地文件中有JSON数据,并且我已成功使用jQuery加载。现在我需要仅搜索pId =“foo1”。
JSON
{
"1":{
"id": "one",
"pId": "foo1",
"cId": "bar1"
},
"2":{
"id": "two",
"pId": "foo2",
"cId": "bar2"
},
"3":{
"id": "three",
"pId": "foo3",
"cId": "bar3"
}
}
的jQuery
id = "1"; // Or whatever
var entry = objJsonResp[id];
console.log(entry);
但它显示了ID,pId
和cId
值,我只需要pId
值,而不是其他值。
那么获得pId
答案 0 :(得分:1)
调用objJsonResp[id]
会返回整个第一个对象。
尝试使用:
console.log(entry.pId);
答案 1 :(得分:0)
obj = JSON.parse("{\"1\":{\"id\": \"one\",\"pId\": \"foo1\",\"cId\": "bar1"},"2":{"id": "two","pId": "foo2","cId": "bar2"},"3":{"id": "three","pId": "foo3","cId": "bar3"}}");
// These \ are called escape chars, they say javascript that " is part of string.
在此之后你有了JSON的对象,所以你有一个父对象[obj]和3个子对象[“1”,“2”,“3”],其属性为id,pId,cId。要获得孩子的财产,你想要像父[child_name] [property_name]那样:
pid1 = obj["1"]["pId"]; // returns foo1
pid2 = obj["2]["pId"]; //return foo2
但你要求的是JSON.parse()函数,它为你提供了代表你的JSON的对象
答案 2 :(得分:0)
所以我通过帮助@Hackerman和@prashkr解决了
两条评论都是对的。
因此,根据我的要求,仅获得 pId 值的最终解决方案就是在上面的评论中提供这样的目标。
console.log(entry.pId);
console.log(entry['pId']);
答案 3 :(得分:-3)
显然,与您通信的服务器是(唯一)可以向您返回适当的结果集的人。因此,您与服务器的通信必须(某种程度上)包含该搜索条件,以便服务器的回复仅包含感兴趣的记录。这将需要您在客户端和服务器端进行额外的编程。 。 。