如何获取 JSON 键和值?

Posted

技术标签:

【中文标题】如何获取 JSON 键和值?【英文标题】:How to get JSON Key and Value? 【发布时间】:2011-10-27 18:42:57 【问题描述】:

我编写了以下代码来从 web 服务获取 JSON 结果。

function SaveUploadedDataInDB(fileName) 
            $.ajax(
                type: "POST",
                url: "SaveData.asmx/SaveFileData",
                data: "'FileName':'" + fileName + "'",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) 
                    var result = jQuery.parseJSON(response.d);
                    //I would like to print KEY and VALUE here.. for example
                    console.log(key+ ':' + value)
                    //Addess : D-14 and so on..
                   
            );
        

这是来自网络服务的响应

请帮我打印 Key 和它的 Value

【问题讨论】:

【参考方案1】:

看起来您正在返回一个数组。如果它总是只包含一个元素,您可以这样做(是的,这与 Tomalak 的答案几乎相同):

$.each(result[0], function(key, value)
    console.log(key, value);
);

如果您可能有多个元素并且想要遍历所有元素,则可以嵌套$.each()

$.each(result, function(key, value)
    $.each(value, function(key, value)
        console.log(key, value);
    );
);

【讨论】:

【参考方案2】:
$.each(result, function(key, value) 
  console.log(key+ ':' + value);
);

【讨论】:

但这只会显示 0:[object Object] @imdadhusen 偶尔看看浏览器 JS 开发工具/调试器可能是个好主意。 ;)【参考方案3】:

首先,我看到您使用的是明确的$.parseJSON()。如果那是因为您在服务器端手动序列化 JSON,请不要这样做。 ASP.NET will automatically JSON-serialize your method's return value 和 jQuery 也会自动为你反序列化。

要遍历数组中的第一项,请使用如下代码:

var firstItem = response.d[0];

for(key in firstItem) 
  console.log(key + ':' + firstItem[key]);

如果有多个项目(从该屏幕截图中很难分辨),那么您可以循环 response.d,然后在该外部循环中使用此代码。

【讨论】:

以上是关于如何获取 JSON 键和值?的主要内容,如果未能解决你的问题,请参考以下文章

如何从此 json 数据中获取键和值?

如何在使用 Scala-Play Json 框架解析 Json 时获取键和值?

如何将这样的 JSON 解析为 NSDictionary 并获取键和值

如何从swift3中的JSON字符串中分别获取键和值?

Android JSONObject - 我如何遍历一个平面 JSON 对象来获取每个键和值

$.ajax 从 php 获取 json_encode($arr) 之后的对象,但是如何在 jQuery 中获取键和值?