我需要从一个站点获取一些JSON并解析它.问题是对象被命名为"-1""-2",依此类推.
当我尝试解析它时,Firebug回来了,"TypeError:obj is undefined length = obj.length"
Chrome返回时收到类似消息,"Uncaught TypeError:无法读取未定义的属性'长度'"
作为参考,这是一个JSON的snipet:
{
"-1": {
"number": 47,
"properties": [
[
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试使用的代码.
$.getJSON("http://www.website.com/builds?select=-1&select=-10",function(data){
$.each(data.-1, function(info,value){
Run Code Online (Sandbox Code Playgroud)
如果我下载JSON,将其保存在本地并将"-1"重命名为"one",将"-2"重命名为"2",那么它可以正常工作.EG JSON成为:
{
"one": {
"number": 47,
"properties": [
[
Run Code Online (Sandbox Code Playgroud)
我的代码变成了
$.getJSON("C:\json.json",function(data){
$.each(data.one, function(info,value){
Run Code Online (Sandbox Code Playgroud)
这很好,但它增加了另一个复杂的步骤.
有没有办法解析原始的JSON(因为它是从服务器自动生成的,经常更改),或者我是不是试图弄清楚如何在本地保存它并在解析之前更改对象名称?