通过知道Jquery中的字段值从Json数组中检索值

时间:2012-08-24 05:55:46

标签: jquery json

我有一个类似的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 个答案:

答案 0 :(得分: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;
    }
});

答案 1 :(得分: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并且您希望var id = 1; var amount = json[String(id-1)].Node_Amount; // 10 知道ID号,那么它可能就像这样简单:

{{1}}

答案 2 :(得分: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];
}

然后您可以NodesNodeID轻松访问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是唯一且存在的事实。

答案 3 :(得分: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;

FIDDLE