0

現在HTMLV機能を使用しており、DOM要素に関する情報をJSONファイルに保存したいと考えています。

したがって、次のようなJSONファイルを作成します。

var pages= 
 [  
    {
            "img_data_url": "test",
        "stamp":
        [
        {"src": "../pic/cake.png",
         "pos_x": 1,
         "pos_y": 1,
         "id_name": "stamp00"           
        },
        {"src": "../pic/egg.png",
         "pos_x": "2",
         "pos_y": "2",
         "id_name": "stamp01"
        },
        {"src": "../pic/sugar.png",
         "pos_x": "3",
         "pos_y": "3",
         "id_name": "stamp02"
        },
        {"src": "../pic/potato.png",
         "pos_x": "4",
         "pos_y": "4",
         "id_name": "stamp03"
        },
        {"src": "../pic/banana.png",
         "pos_x": "5",
         "pos_y": "5",
         "id_name": "stamp04"
        }       
        ]    
    }
    ,
    {
        "img_data_url": "test",
        "stamp":
        [
        {"src": "../pic/f.png",
         "pos_x": "1",
         "pos_y": "1",
         "id_name": "stamp10"           
        },
        {"src": "../pic/g.png",
         "pos_x": "2",
         "pos_y": "2",
         "id_name": "stamp11"
        },
        {"src": "../pic/h.png",
         "pos_x": "3",
         "pos_y": "3",
         "id_name": "stamp12"
        },
        {"src": "../pic/i.png",
         "pos_x": "4",
         "pos_y": "4",
         "id_name": "stamp13"
        },
        {"src": "../pic/j.png",
         "pos_x": "5",
         "pos_y": "5",
         "id_name": "stamp14"
        }
        ]       
    }        
]

DOM要素に格納されているデータを取得して、各「{}」セグメントを作成します。

書くことによって:

var json_obj={};
json_obj["src"] = "../pic/cake.png";
json_obj["pos_x"] = 1;
json_obj["pos_y"] = 1;
json_obj["id_name"] = "stamp00";
var json_string= JSON.stringify( json_obj );

私が得た:
"{"src":"../pic/cake.png","pos_x":1,"pos_y":1,"id_name":"stamp00"}"

しかし、データ構造を次のように整理するにはどうすればよいですか。
"stamp": [] <-- An array consists of lots of JSON strings I created above."
質問:
1。2つの二重引用符(最初と最後の位置)は
"{"src":"../pic/cake.png","pos_x":1,"pos_y":1,"id_name":"stamp00"}" 冗長ですか?
なぜ表示 されるのです
か?JSONファイルでデータを取得する操作に影響しますか?
2.書く代わりに、別のアプローチが必要です。

var str= "\"stamp\":[";
str += json_string;

取得するため
""stamp":[{"src":"../pic/cake.png","pos_x":1,"pos_y":1,"id_name":"stamp00"}"

よりスマートで正しいアプローチはありますか?

4

1 に答える 1

1

JSON文字列を直接混乱させないでください。必要な構造を作成し、それを文字列化するだけです。

var json_obj={};
json_obj["src"] = "../pic/cake.png";
json_obj["pos_x"] = 1;
json_obj["pos_y"] = 1;
json_obj["id_name"] = "stamp00";

var json_document = {
    stamp: [ json_obj ],  // you probably want to build this array separately
};
JSON.stringify(json_document);

表示されている外側の引用符は、JavaScript文字列であることを示しています。内側の引用符(\?でエスケープされているはずです)は、JSON形式の一部です。

于 2013-02-27T02:01:51.133 に答える