JSON - 添加Double get encoded类型的数组

时间:2013-10-18 07:29:18

标签: java arrays json mongodb jax-rs

我正在尝试将一个double的数组(大小为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"]} 

不确定为什么数组会被编码。有没有办法避免这种情况,因为我无法将编码信息插入DB。

非常感谢您的帮助和时间

1 个答案:

答案 0 :(得分:1)

latlong[]Array,但latlong就像引用(long * latLong),你将引用location放到json,所以你得到了它位置不是价值。
您可以使用fastJson utils首先将latlong[]更改为jsonString。