JSONobject внутри JSONObject в Java - PullRequest
       0

JSONobject внутри JSONObject в Java

0 голосов
/ 23 ноября 2018

У меня есть следующее сопоставление запроса:

@RequestMapping(value = "/reCalculated", method = RequestMethod.POST)
public @ResponseBody void reCalculated(JSONObject obj) {

    obj.
}

, а затем у меня есть входящий JSON

{"params":{"date_a":"2017-05-01","date_b":"2017-05-02"}}

, но в Java obj. только дает мне варианты toString() и toJSONString() Между тем все учебники и несколько тем ясно говорят мне, что я должен уметь obj.getJSONObject("params") Почему это так?Как я могу получить доступ к моим параметрам?

<dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
 </dependency>

это зависимость.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Вы можете получить JSONString из вашего параметра

Gson gson = (new GsonBuilder()).create();
jsonString = obj.get("params").getAsString();
JsonObject param= gson.fromJson(jsonString, JsonObject.class);

Как и сказано Deadpool, вы хотите использовать gson, но добавили json-simple зависимость.

0 голосов
/ 23 ноября 2018

json-simple библиотека имеет метод get(String name) и требует внешнего приведения типов, как показано ниже

String name = (String) jsonObject.get("name");
JSONArray msg = (JSONArray) jsonObject.get("messages");
long age = (Long) jsonObject.get("age");

Но gson библиотека имеет предопределенные методы здесь

public JsonObject getAsJsonObject(String memberName)
public JsonArray getAsJsonArray(String memberName)

Зависимость Maven

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.3</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...