以下代码是我的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”之后获取所有信息。
非常感谢任何帮助。
答案 0 :(得分:0)
向项目添加依赖项不会将新方法添加到现有可用类中。值得注意的是,添加依赖项org.json
不会将方法getJSONObject()添加到String类。什么也不会在现有类中添加新方法。
通过添加此依赖关系,您可以访问新类,尤其是JSONObject类。
所以您可以这样做:
JSONObject obj = new JSONObject(json);
JSONObject jsonWh = obj.getJSONObject("json");
但是,不要那样做。您正在使用REST Web服务框架。它将为您处理将JSON请求反序列化为Java对象,而无需您自己查找其他依赖项。
只需阅读有关您的框架如何最好地为您做到的教程。