无法使用import org.json解析符号getJSONObject



以下代码是我的RestClient:我不确定发生了什么,因为我有maven依赖:

<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>

我在我的RestClient中导入了:

import org.json.*;

但当我输入RestClient:时

public void put(final String json) {
JSONObject jsonWh = json.getJSONObject("json");
}

我一直收到以下错误(当我将鼠标悬停在"getJSONObject"上时(:

无法解析符号getJSONObject(java.lang.String(

打印时的'json'看起来像:

{"json":"{"name":"test", "contact":{"mobile":"088","home":"089"}, "type":"family"}"}

变量json是从我的前端react web应用程序传入的,该应用程序将json传递给端点/createcontact。在我的java控制器中:

@PostMapping(value="/createcontact")
public ResponseEntity<String> createContact(@RequestBody final String json) {
restClient.put("/contacts/createcontact", json);
return new ResponseEntity<>(httpStatus.CREATED);
}

有人能帮我弄清楚吗?也许我的进口错了?我认为这应该是正确的maven依赖,因为这个页面但我不确定。

我基本上是在尝试获取"json"之后的所有信息。

非常感谢您的帮助。

向项目添加依赖项不会向现有可用类添加新方法。值得注意的是,添加依赖org.json不会将方法getJSONObject((添加到类String中。任何内容都不会向现有类添加新方法。

通过添加这个依赖项,您可以访问新的类,特别是类JSONObject。

所以你可以做:

JSONObject obj = new JSONObject(json);
JSONObject jsonWh = obj.getJSONObject("json");

但是,不要那样做。您使用的是REST Web服务框架。它将为您处理将JSON请求反序列化为Java对象的问题,而无需自己查找其他依赖项。

只需阅读有关您的框架如何最好地为您做到这一点的教程。

最新更新