1

我正在使用 Microsoft 的 Live Connect 开发人员中心

它为联系人返回这种类型的变量,但我不知道读取它的简单方法,会对其执行拆分但不知道如何读取此对象:

{"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 回答