0

json を JavaScript 配列に保存しようとしていますが、その方法がわかりません。配列の最初の要素にすべてのコンテンツを保存したくありません。それが私の機能です:

function jeyson()
{
var onion = new XMLHttpRequest();
onion.open("GET", "json.json", true);
onion.send(null);

/* var anotheronion = angular.fromJson(onion.responseText, false); */

    var onionarray = new Array()

}

onionarray は、json ファイルを含めたい配列です。

私のjsonは次のようになります:

{

"count": 2,
"e": 1,
"k": null,
"privateresult": 0,
"q": "surname",
"start": 0,
"cards": [
    {
        "__guid__": "efd192abc3063737b05a09a311df0ea0",
        "company": false,
        "__title__": "name1 surname",
        "__class__": "entity",
        "services": false,
        "__own__": false,
        "vanity_urls": [
            "name1"
        ]
    },
    {
        "__guid__": "01917cfa71a23df0a67a4a122835aba8",
        "photo": {
            "__own__": false,
            "__title__": null,
            "__class__": "image",
            "__guid__": "01917cfa71a23df04d03f83cb08c11e1"
        },
        "company": false,
        "__title__": "name2 surname",
        "__class__": "entity",
        "services": false,
        "__own__": false,
        "vanity_urls": [
            "name2"
        ]
    }
]

}

どうすれば配列に保存できますか?

PS json ファイルが同じサーバー上にあるため、「same origin policy」のような問題はありません (今のところ、ローカル ファイルを使用しています。同じドメインにないファイルを使用できますか?)。

PS json を JavaScript オブジェクト (配列など) として使用することは可能ですか? json オブジェクトで何かを検索したい場合、どうすればよいですか?

function geisson()
{
var iabile = new XMLHttpRequest();
iabile.open("GET", "json.json", true);
iabile.send(null);

var objectjson = {};
objectson = JSON.parse(iabile.responseText);
alert(objectson.cards.toSource());  
return false;
}
4

2 に答える 2

2

受信する JSON は配列ではありません。これは JSON 構造です (Javascript では、オブジェクトと同じです)。したがって、配列として直接格納することはできません。

json にはcards要素として配列が含まれています。――それが欲しい?

必要がある

  1. 受信 JSON を JS 構造に解析します。(JSON.parse を使用します。)
  2. Javascript で構造を取得したら、次のようにします。

    incoming = JSON.parse(data);
    onionarray = incoming.cards;
    

また、空の配列を宣言する最新の方法は

var onionarray = [];  

// not
var onionarray = new Array()
于 2012-06-21T13:19:22.963 に答える
1

ブラウザのメソッドJSON.parse()を使用しJSON.stringify()て、json を javascript オブジェクトに変換し、元に戻します。

あなたの場合、onionarray配列ではなくオブジェクトであるべきです(実際、配列とオブジェクトはJavaScriptで>かなり<似ています)。次のように jsondata を割り当てることができます。

onionarray = JSON.parse(data);
于 2012-06-21T13:11:11.653 に答える