-3

別の値を追加してJSONオブジェクトを使用してJSONオブジェクトを配置していますが、それを印刷すると[オブジェクトオブジェクト]が表示されます。json 形式で値を指定しないでください。コードは次のとおりです。

var Json1 = {"name":"OMAR"};
var data=null;
var json2 = {"ID":12345 ,data:Json1 }; 

私はどこが間違っているのか混乱しています。どんな助けでも大歓迎です。

4

3 に答える 3

1

:が期待されているため、3 行目に現在構文エラーがあります=。また、JavaScript では大文字と小文字が区別されるため、最初の行の変数と一致するように大文字の J が必要ですJson1(またはその変数を小文字の j に変更します)。

var json2 = {"ID":12345, data : Json1 };

あなたがそれをした場合、それがjson2.data.name返されることがわかります"OMAR"

また、2 番目のオブジェクトのプロパティとしてのdata変数とは同じものではありません。data

また、用語の要点: JSON オブジェクトのようなものはありません

JavaScript オブジェクトの操作の詳細については、MDN に"オブジェクトの操作"という便利なタイトルの記事があります。

于 2013-08-24T13:02:31.457 に答える
1

コードにいくつかのエラーがあります:

1.別のオブジェクト内にオブジェクトを追加するために変数を定義する必要はありません。

var data = null; // you need not to define it
var json2 = {
    "ID": 12345,
    data = json1
};

2.交換する

var json2 = {
    "ID": 12345,
    data = json1
}; // wrong 

var json2 = {
    "ID": 12345,
    "data": Json1 
}; // right

正しいコード:

var Json1 = {
    "name": "OMAR"
};
var json2 = {
    "ID": 12345,
    "data": Json1 
};

その値を警告するには:

これを試して:JSON.stringify(json2);

于 2013-08-24T13:03:17.537 に答える
1

コード内の 2 つのタイプミス:

var Json1 = {"name":"OMAR"};
var data=null;
var json2 = {"ID":12345 ,data:Json1 };
//                           ^ = should be :
//                            ^ json1 should be Json1

からの値が必要な場合は、次のjson2.dataように取得します。

console.log(json2.data.name); //=> "OMAR"

さらに、コードは次のように書き換えることができます。

var json2 = { "ID":12345 ,data:{"name":"OMAR"} };
于 2013-08-24T13:04:00.530 に答える