0

我正在尝试将一个双精度数组(大小为 2)添加到 JSON 对象。这基本上是一个位置信息(具有经度和纬度信息)。

代码如下

double latLong[] = {124.6682391, -17.8978304};
final BasicDBObject loc = new BasicDBObject();
loc.put("type","Point");
loc.put("coordinates", latLong);
jsonObject.put("location", loc);

添加后,当我尝试打印它时,我得到以下输出。

"location" : { "type" : "Point" , "coordinates" : "[D@53e21fa6"} 

不知道该怎么办。我期待

"location" : { "type" : "Point" , "coordinates" : [124.6682391, -17.8978304"]} 

不知道为什么数组被编码。有没有办法避免这种情况,因为我无法将编码信息插入数据库。

非常感谢您的帮助和时间

4

1 回答 1

1

latlong[]一个Array,但是latlong就像引用(long* latLong)一样,你把引用location放到json,所以你得到的是位置而不是值。
您可以先使用 fastJson 工具更改latlong[]为 jsonString。

于 2013-10-18T08:38:01.830 回答