如何读取JSON格式的字符串数据数据?

问题描述:

我是的新手。我正在尝试以格式读取数据。如何读取JSON格式的字符串数据数据?

data.json:

[[Hi, Helo, Mort,Top, Est, Fist]] 



name: { categories: []} 

读取数据和assiging至名:

$.getJSON('data.json', function(data) { 
    name.categories = name.toString(); 
}); 

但它不为我工作。请帮帮我。我如何正确读取它?

首先,您需要创建数组对象。

  • 之后,您必须将数据循环并将其逐一存储到数组对象中。

例子:

var categories = []; 
var jsonobj; 
$.getJSON('data.json', function(data) { 
    jsonobj = data; 
}); 
for (i in obj) { 
    var temp = []; 
    temp.push(obj[i].'jsondata'); 
} 

希望这是回答你的问题。你可以参考这个link

+0

与小提琴相比,上面的代码是不完整的。 –

+0

@RickCalder:我同意瑞克。我只是将小提琴链接粘贴为参考目的。不是为了一个实际的答案。 – Henry

var items = []; 
$.getJson('data.json', function(data) { 
    $.each(data, function(index, value) { 
    items.push(value); 
    }) 
}) 

希望它会帮助你。

我想推荐你检查你的json数据。用字符串的数组结构良好

一个JSON数据可能是:

["Hi", "Hello", "Test"] 

如果您需要帮助,以验证您的JSON数据,你可以使用这个链接:http://pro.jsonlint.com/

关于您的问题,潘卡古普塔的回答是一个很好的选择。

不要忘了在javascript语句的末尾使用分号。

var items = []; 
$.getJson("data.json", function(data) 
{ 
    $.each(data, function(index, value) 
    { 
     items.push(value); 
    }); 
}); 

1.You更换name.toString()data。然后它会工作。

var name = { 
    categories: [] 
}; 
$.getJSON('data.json', function(data) { 
    name.categories = data; 
}); 

2.也可以通过助手对象设置。 Helper.setArray(name.categories, data);而不是name.categories = data;。通常,我使用助手进行解析和其他目的。

var Helper = { 
    clearArray: function(arr) { 
    if (arr && Array.isArray(arr)) { 
     arr.length = 0; 
    } 
    }, 
    pushArray: function(arr1, arr2) { 
    if (arr1 && arr2 && Array.isArray(arr1)) { 
     arr1.push.apply(arr1, Array.isArray(arr2) ? arr2 : [arr2]); 
    } 
    }, 
    setArray: function(arr1, arr2) { 
    this.clearArray(arr1); 
    this.pushArray(arr1, arr2); 
    } 
}