1

json オブジェクトを使用して隣接リストを作成したいと考えています。隣接リストのjsonオブジェクトを次の形式で実装したいと思います。

var JSONobj= {node1:[{x1,y1},{x3,y3},{x4,y4}], node2:[{x2,y2},{x3,y3}], node3:[]}

私の疑問は、次のように動的に座標リストに値を追加できるかどうかJSONobj.node3[0]={x4,y4}です。または、オブジェクト宣言の外から JSONobj に値を追加するより良い方法はありますか?

4

3 に答える 3

1

JSONオブジェクトはきれいな配列であるため、要素をJSONオブジェクトにプッシュできます。

JSONobj.push({"newElement":"value"});
于 2011-08-26T09:16:37.130 に答える
0

Javascript の JSONは、通常の (構造化された) Javascript オブジェクトです。したがって、まずオブジェクト構文に準拠する必要があります。node1x1などは、定義済みの変数または明示的な定数でなければなりません。{x1, x2}JS では定義されていません。それはattribute: value、例えば、である必要があります{x1: 1, "x2": "a2"}。構文的に有効なオブジェクトを取得するとすぐに、好きなように操作できます。例えば

var node1 = "node1";
var x1 = "x1";
var y1 = "y1";
var x3 = "x3";
var y3 = "y3";
var JSONobj= {node1: [{x1:1,y1:1}, {x3:2,y3:3}], 
    "node2": [{"x2":1,"y2":2}], "node3": []};
JSONobj.node3[0] = {"x4":4,"y4":4};   
JSONobj.node4 = [];
JSONobj.node4.push({"x5":5, "x6":6});

このオブジェクトを JS の外部で使用する (サーバーに送信するなど) 場合は、JSON 文字列に変換する必要があります。

var JSONtext = JSON.stringify(JSONobj);

JS で JSON 文字列を JSON オブジェクトに変換する場合は、次を使用します。

var JSONobj = JSON.parse(JSONtext);
于 2011-08-26T10:24:11.853 に答える