0

我有一个看起来像的 json 数组,

0: {NodeID:1, Node_Location:30,0,60,30, Node_CurrentURL:http://google.com, Node_Title:google,Node_Amount: 10}
1: {NodeID:2, Node_Location:90,90,160,30, Node_CurrentURL:http://gmail.com, Node_Title:gmail,Node_Amount: 30}
2: {NodeID:3, Node_Location:180,160,260,30, Node_CurrentURL:http://asp.net, Node_Title:asp,Node_Amount: 40}

我的 json 数组是从 webapi 接收的,并希望在客户端显示。

我如何通过知道 NodeID 来检索 Node_Amount?请帮帮我,谢谢。

4

4 回答 4

0

你可以这样做:

$.each(jsonarray, function(index, value)
{
    if (value.NodeID == specificnodeid)
    {
        //store it some place safe
        return;
        //or alternatively you can return the value as
        // return value;
    }
});
于 2012-08-24T06:02:19.430 回答
0

假设这是解析后的 json 数组的输出模型:

var json = {
  0: {
    NodeID: 1,
    Node_Location: [],
    Node_CurrentURL: '',
    Node_Title: '',
    Node_Amount: 10
  },
  1: {
    NodeID: 2,
    Node_Location: [],
    Node_CurrentURL: '',
    Node_Title: '',
    Node_Amount: 30
  }
};

如果你知道NodeID它与根对象加一相同,并且你想Node_Amount知道 id 号,它可能就像这样简单:

var id = 1;
var amount = json[String(id-1)].Node_Amount; // 10
于 2012-08-24T06:16:50.530 回答
0

如果你预处理数组,我们称之为NodeArray

var NodeArray = [{
  NodeID: 1,
  Node_Location: [30, 0, 60, 30],
  Node_CurrentURL: "http://google.com",
  Node_Title: "google", 
  Node_Amount: 10
}];

进入一个关联数组Nodes,键绑定到NodeID

var Nodes = {};
for (var i = 0; i < NodeArray.length; i++) {
  Nodes[NodeArray[i].NodeID] = NodeArray[i];
}

Nodes然后您可以通过NodeID( Nodes[NodeID].)轻松访问任何元素

console.log(Nodes[1]);
// {NodeID:1, Node_Location:[30,0,60,30], Node_CurrentURL:"http://google.com", Node_Title:"google", Node_Amount:10}

NodeID这仅依赖于独特且存在的事实。

于 2012-08-24T06:19:03.160 回答
0

你的对象不是真的有效,我猜字符串被引用等等,它真的看起来像:

var obj = {
    0: {NodeID:1, Node_Location:'30,0,60,30', Node_CurrentURL:'http://google.com', Node_Title:'google',Node_Amount: 10},
    1: {NodeID:2, Node_Location:'90,90,160,30', Node_CurrentURL:'http://gmail.com', Node_Title:'gmail',Node_Amount: 30},
    2: {NodeID:3, Node_Location:'180,160,260,30', Node_CurrentURL:'http://asp.net', Node_Title:'asp',Node_Amount: 40}
       };

您可以通过以下方式访问值:

var URL = obj[0].Node_CurrentURL;

小提琴

于 2012-08-24T06:23:39.163 回答