1

私はMicrosoftからLiveConnectDeveloperCenterを使用しています

連絡先に対してこのタイプの変数を返しますが、それを読み取る簡単な方法がわかりません。分割を実行しますが、このオブジェクトの読み取り方法がわかりません。

{"id":"contact.0d3d6bf0000000000000000000000000", "first_name":"William", "last_name":"Shakespeare", "name":"William Shakespeare", "gender":null, "is_friend":false, "is_favorite":false, "user_id":"2ae098749083cb3d", "email_hashes":["a790b818acfdef744a23bef534dfd9a4a53aa834250bdfe55f6874543129daa6"], "updated_time":"2012-10-04T19:23:34+0000"}

名前とemail_hashesにアクセスする必要があります:a790b818acfdef744a23bef534dfd9a4a53aa834250bdfe55f6874543129daa6-角かっこなし。

この種のオブジェクトの読み方がわからないだけです。

4

5 に答える 5

3

JSON.parse()JSON形式の文字列を取得し、JavaScriptオブジェクトを生成するように特別に設計されており、そこからプロパティにアクセスできます。

于 2012-11-19T18:51:50.620 に答える
0

それはJSONのように見えます。jQueryを使用している場合は、次のようにすることができます。

var jsonData = $.parseJSON('{"id":"contact..."}');
alert('name: ' + jsonData.id);

その他の使用例については、ドキュメントを参照してください:http: //api.jquery.com/jQuery.parseJSON/

于 2012-11-19T18:53:44.530 に答える
0

受け取った応答は、キーと値のペアです。キーを使用して任意の値にアクセスできます

obj[key] // value

また

obj.key // value
于 2012-11-19T18:53:58.663 に答える
0

もしも

var x = {"id":"contact.0d3d6bf0000000000000000000000000", "first_name":"William", "last_name":"Shakespeare", "name":"William Shakespeare", "gender":null, "is_friend":false, "is_favorite":false, "user_id":"2ae098749083cb3d", "email_hashes":["a790b818acfdef744a23bef534dfd9a4a53aa834250bdfe55f6874543129daa6"], "updated_time":"2012-10-04T19:23:34+0000"}

それから

x.email_hashes

戻り値

["a790b818acfdef744a23bef534dfd9a4a53aa834250bdfe55f6874543129daa6"]

x.email_hashes[0]

戻り値

"a790b818acfdef744a23bef534dfd9a4a53aa834250bdfe55f6874543129daa6"
于 2012-11-19T18:55:37.273 に答える
0

JSONを使用して変数を取得するときは、次のようにします。

var stringData = {}, // Incoming data
    data = JSON.parse(stringData);

次に、次のような変数にアクセスできます。

var id = data.id,
    firstName = data.first_name;

配列値にアクセスするには、次のようにします。

var emailHashes = data.email_hashes;
if (emailHashes.length > 0) {
    var i = 0;

    for (; i < emailHashes.length; i++) {
         // perform some action on them.
    }         
}
于 2012-11-19T18:56:41.130 に答える