无法使用导入org.json

时间:2018-07-12 15:40:10

标签: java json spring maven

以下代码是我的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依赖项,因为this page 但我不确定。

我基本上是想在“ json”之后获取所有信息。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

向项目添加依赖项不会将新方法添加到现有可用类中。值得注意的是,添加依赖项org.json不会将方法getJSONObject()添加到String类。什么也不会在现有类中添加新方法。

通过添加此依赖关系,您可以访问新类,尤其是JSONObject类。

所以您可以这样做:

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

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

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