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

これが解析された 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
  }
};

がルート オブジェクトに 1 を加えたものと同じであることがわかっていて、ID 番号を知りNodeIDたいNode_Amount場合は、次のように簡単です。

var id = 1;
var amount = json[String(id-1)].Node_Amount; // 10
于 2012-08-24T06:16:50.530 に答える
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 に答える
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

配列を前処理する場合は、それ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 に答える