所以我想把我的代码变成JSON是以下
var locationData = [];
locationData['lat'] = position.coords.latitude;
locationData['long'] = position.coords.longitude;
locationData['address']['road'] = data['address']['road'];
locationData['address']['suburb'] = data['address']['suburb'];
locationData['address']['city'] = data['address']['city'];
locationData['address']['county'] = data['address']['county'];
locationData['address']['state'] = data['address']['state'];
locationData['address']['postcode'] = data['address']['postcode'];
locationData['address']['country'] = data['address']['country'];
locationData['address']['country_code'] = data['address']['country_code'];
但是当我运行它时,它并没有提醒我它已经成功
答案 0 :(得分:5)
您的初始声明是错误的:
var locationData = [];
创建一个数组,它不会像你期望的那样工作;你想要一个对象。您还需要初始化内部的任何复杂数据结构,例如address
:
var locationData = {
address: {}
}
<强>旁注强>
数组也是JavaScript中的对象,但在使用数字属性时,它以特殊方式运行。在您的情况下,您根本不使用数字属性,这就是常规对象更适合您需求的原因。
答案 1 :(得分:0)
正如您将locationData声明为数组一样,您还需要将locationData ['address']声明为数组。 (locationData['address']=[]
在你的第三或第四行。)