【问题标题】:Print json array in JS [duplicate]在JS中打印json数组[重复]
【发布时间】:2018-02-28 23:34:13
【问题描述】:

我正在尝试使用 JS 在浏览器控制台中打印我来自 PHP 的 JSON 响应。 我在这里和其他网站上看到了很多帖子,但我做不到。

我有一个这样的 JSON

{"0":{"codigo_intervencao":"Apoio Emocional - 5270"},"1":{"tempo":"30"},"2":{"codigo_intervencao":"Apoio Emocional - 5270"},"3":{"tempo":"30"},"4":{"codigo_intervencao":"Apoio Emocional - 5270"},"5":{"tempo":"231518"},"6":{"codigo_intervencao":"Apoio Emocional - 5270"}}

我想在控制台中打印,例如键“codigo_intervencao”的每个值,但我无法实现。

我尝试过类似的方法:

$(document).ready(function() {

  $( "#target" ).click(function() {
    console.log("Select JS");
      $.ajax({
        type: "POST",
        url: "select.php",
        dataType: 'html',
        success: function(response) {
            console.log("Response:" + response); // Here it prints above json
            var array = $.parseJSON(response);
            var tempo = 0;
            var arrayLength = array.length;

            for (var i = 0; i < arrayLength; i++) {
              console.log(array[i]['codigo_intervencao']);

        }
      });
  });
}); 

【问题讨论】:

  • 我猜你的 JSON 是一个对象,而不是一个数组。试试console.log(arrayLength) 给你的。
  • 它给了我“未定义”。那么它是一个对象吗?我该如何处理?
  • 您没有length 属性。而是迭代 Object.keysObject.entriesObject.values
  • 几个选项: 1.如果是PHP中的数组,使用PHP的json_encode()获取JavaScript中的数组。 2.检查您是否需要$.parseJSON()。 3.试试for...inw3schools.com/jsref/jsref_forin.asp
  • 试试console.table(array)

标签: javascript arrays json multidimensional-array


【解决方案1】:

你有一个 JSON 对象而不是一个数组。

var elements = $.parseJSON(response)
for (element in elements){
    console.log(elements[element]['codigo_intervencao'])
}

迭代 JSON 并获取您想要的元素。

【讨论】:

    【解决方案2】:

    您提供的 JSON 示例将解析为一个对象。您可以尝试以下方法:

    const data = JSON.parse(response);
    const array = Object.keys(data).map(key => data[key]);
    array.forEach(item => console.log(item.codigo_intervencao))
    

    对于没有codigo_intervencao 键的对象,您将得到未定义。或者,您可以使用 for..in 遍历您的对象。

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 2020-10-27
      • 2019-08-13
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多