0

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'];

しかし、実行すると、成功したことを警告しません

4

2 に答える 2

5

あなたの最初の宣言は間違っています:

var locationData = [];

これにより配列が作成されますが、期待どおりには機能しません。代わりにオブジェクトが必要です。次のような内部の複雑なデータ構造も初期化する必要がありますaddress

var locationData = {
    address: {}
}

サイドノート

配列は JavaScript のオブジェクトでもありますが、数値プロパティを使用すると特別な方法で動作します。あなたの場合、数値プロパティをまったく使用していないため、通常のオブジェクトの方がニーズに適しています。

于 2012-06-29T02:37:46.543 に答える
0

locationData を配列として宣言するのと同様に、locationData['address'] も配列として宣言する必要があります。(locationData['address']=[]3行目または4行目)。

于 2012-06-29T02:33:47.443 に答える