首页 > 解决方案 > 如何用 jquery 读取 JSON?JSON 有 data='[]';

问题描述

你好吗?

我有以下问题。在大学里,他们给了我一个 JSON 文件,但它的内容很特别。我必须用我立即分享的这个 JSON 文件填写表格。

json:

data='[{"ID":"36","name":"Finland","population":"5300000","date":"August 21 2011","percentage":"2.05%"}]';

尝试使用以下代码读取它,但它会引发错误,因为它不接受 data = '[]';

HTML 查询

        //lee el archivo json
        $.getJSON("data/countries.json",function(data){
            //variable contructora de la tabla
            var employee_data = '';
            //obtener valores en bace a la llave
            $.each(data,function(key,value){
                employee_data += '<tr>';
                employee_data += '<td>'+value.ID+'</td>';
                employee_data += '<td><img src="imagenes/'+value.name+'" alt="'+value.name+'"></td>';
                employee_data += '<td>'+value.name+'</td>';
                employee_data += '<td>'+value.date+'</td>';
                employee_data += '<td>'+value.percentage+'</td>';
                employee_data += '</tr>';
            });
            //muestra el resultado de la tabla creada
            $('#tab-paises').append(employee_data);
        },'html').done(function(){
            
        }).fail(function(e){
            console.log("error");
            console.log(e)
        }).always(function(){
            
        });
    });

我如何阅读这些类型的文件?

标签: jqueryjsonajax

解决方案


谢谢,我已经解决了。使用两个代码的一部分。最后的结果是成功的。我分享代码。

$.ajax({
        url: "data/countries.json",
        dataType: "text",
        success: function(data) {
            eval(data);
            console.log(JSON.parse(data))
            data = JSON.parse(data);
            var row;
            $.each(data, function(i, r) {
                row = $("<tr>");
                $("<td>").html(r.ID).appendTo(row);
                $("<td>").html($("<img>", {
                  src: "imagenes/" + r.name,
                  alt: r.name
                })).appendTo(row);
                $("<td>").html(r.name).appendTo(row);
                $("<td>").html(r.date).appendTo(row);
                $("<td>").html(r.percentage).appendTo(row);
                $('#tab-paises').append(row);
              });
        },
        error: function(e) {
          console.log("error");
          console.log(e)
        }
      });

推荐阅读