【问题标题】:How to get JSON Key and Value?如何获取 JSON 键和值?
【发布时间】: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

【问题讨论】:

    标签: jquery asp.net json


    【解决方案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,然后在该外部循环中使用此代码。

      【讨论】:

        猜你喜欢
        • 2013-09-25
        • 2015-12-21
        • 1970-01-01
        • 1970-01-01
        • 2014-07-12
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 2020-05-02
        相关资源
        最近更新 更多