如何将哈希映射放入JSONObject?

我需要从Android向Algolia发送数据,发送的数据应为JSONObject格式(导入org.json.JSONObject)

阿尔及利亚的数据应采用这种格式

"_geoloc": {
  "lat": 40.639751,"lng": -73.778925
}

所以在Android中,我将代码设置如下

val jsonObject = JSONObject()

val locHashMap = hashMapOf(
   "lat" to coordinate.latitude,"lng" to coordinate.longitude
)


jsonObject.put("_geoloc",locHashMap)

 index.addObjectAsync(jsonObject)

但不幸的是,我收到此错误:

  

java.lang.NoSuchMethodError:没有虚拟方法   put(Ljava / lang / String; Ljava / util / Map;)Lorg / json / JSONObject;在班上   Lorg / json / JSONObject;或其超类(声明为   “ org.json.JSONObject”出现在/system/framework/core-libart.jar)

此行代码jsonObject.put("_geoloc",locHashMap)

那么我应该怎么做才能以JSONObject格式发送哈希图数据?

yc857622872 回答:如何将哈希映射放入JSONObject?

我可能是错的,但是请尝试这种方式。

错误,说没有方法将Map作为JSON值放置,但是您可以将String(JSON对象作为字符串)放置,这很好,因此YourHasMap.toString()和您完成了

在代码java中: jsonObject.put(“ _ geoloc”, locHashMap.toString()) index.addObjectAsync(jsonObject)

本文链接:https://www.f2er.com/3097407.html

大家都在问