2017-03-17 52 views
-1

有一个JSON看起来像这样:我如何将一个JSON数组转换成JSON对象在JavaScript

[{ 
    "1": [{ 
     "lat": " -1.854029", 
     "lng": " 36.488604" 
    }, { 
     "lat": " -1.519856", 
     "lng": " 36.102752" 
    }, { 
     "lat": " -1.283394", 
     "lng": " 36.657745" 
    }] 
}, { 
    "2": [{ 
     "lat": " -1.325416", 
     "lng": " 36.669051" 
    }, { 
     "lat": " -1.392932", 
     "lng": " 36.768752" 
    }, { 
     "lat": " -1.390505", 
     "lng": " 36.810023" 
    }, { 
     "lat": " -1.448266", 
     "lng": " 36.952769" 
    }, { 
     "lat": " -1.267033", 
     "lng": " 37.094882" 
    }, { 
     "lat": " -1.214605", 
     "lng": " 37.053978" 
    }, { 
     "lat": " -1.169516", 
     "lng": " 36.895608" 
    }] 
}] 

I want to convert it to this format. 

{ 
    "1": [{ 
     "lat": " -1.854029", 
     "lng": " 36.488604" 
    }, { 
     "lat": " -1.519856", 
     "lng": " 36.102752" 
    }, { 
     "lat": " -1.283394", 
     "lng": " 36.657745" 
    }], 
    "2": [{ 
     "lat": " -1.325416", 
     "lng": " 36.669051" 
    }, { 
     "lat": " -1.392932", 
     "lng": " 36.768752" 
    }, { 
     "lat": " -1.390505", 
     "lng": " 36.810023" 
    }, { 
     "lat": " -1.448266", 
     "lng": " 36.952769" 
    }, { 
     "lat": " -1.267033", 
     "lng": " 37.094882" 
    }, { 
     "lat": " -1.214605", 
     "lng": " 37.053978" 
    }, { 
     "lat": " -1.169516", 
     "lng": " 36.895608" 
    }] 
} 

我试图JSON.parse(var),但它没有给出所需的输出。如果我尝试在我的JSON中访问一个值,它会给出未定义的值。请别人帮助你做错什么。它是创建json的wat吗?如果是这样,我应该如何创建它,以便如上所述获得所需的输出。或者解析json的方式存在问题?

+0

这是什么都与Java做?? – CraigR8806

回答

1

你实际上包含JavaScript对象数组下工作,使用myArray[0]获取对象:

var myArray = [ 
     { 
      "1": [ 
       { 
        "lat": " -1.854029", 
        "lng": " 36.488604" 
       }, 
       { 
        "lat": " -1.519856", 
        "lng": " 36.102752" 
       }, 
       { 
        "lat": " -1.283394", 
        "lng": " 36.657745" 
       } 
      ] 
     }, 
     { 
      "2": [ 
       { 
        "lat": " -1.325416", 
        "lng": " 36.669051" 
       }, 
       { 
        "lat": " -1.392932", 
        "lng": " 36.768752" 
       }, 
       { 
        "lat": " -1.390505", 
        "lng": " 36.810023" 
       }, 
       { 
        "lat": " -1.448266", 
        "lng": " 36.952769" 
       }, 
       { 
        "lat": " -1.267033", 
        "lng": " 37.094882" 
       }, 
       { 
        "lat": " -1.214605", 
        "lng": " 37.053978" 
       }, 
       { 
        "lat": " -1.169516", 
        "lng": " 36.895608" 
       } 
      ] 
     } 
    ]; 

myArray[0]将返回,你可以无需解析的对象。解析用于具有JSON(即字符串符号)时,我们必须获取相应的js对象,反之亦然。

+0

嘿,你可以请详细说明如何使用它? – Lizbeth

+0

检查编辑请 – KAD

0

我觉得这个解决方案可以帮助您的问题: JSON.parse(JSON.stringify(阵列))

请检查是否这会解决您的问题:Convert array to JSON

+0

我已经尝试过..它返回一个字符串,而不是一个对象 – Lizbeth