我正在尝试将一个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。
非常感谢您的帮助和时间
答案 0 :(得分:1)
latlong[]
是Array
,但latlong
就像引用(long * latLong),你将引用location
放到json,所以你得到了它位置不是价值。
您可以使用fastJson utils首先将latlong[]
更改为jsonString。