如何获取 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 键和值?的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 Scala-Play Json 框架解析 Json 时获取键和值?
如何将这样的 JSON 解析为 NSDictionary 并获取键和值
Android JSONObject - 我如何遍历一个平面 JSON 对象来获取每个键和值
$.ajax 从 php 获取 json_encode($arr) 之后的对象,但是如何在 jQuery 中获取键和值?