Мне трудно десериализовать объект json и массив json из объекта json.Я хочу вернуть запрос, намерение и сущность.Мне уже удалось получить запрос.Я хочу получить "намерение" в "topScoringIntent" и "сущность" в "сущностях", используя gson, и вернуть их все в классе.
Scanner scanner = new Scanner(con.getInputStream());
String responseBody = scanner.useDelimiter("\\A").next();
System.out.println(responseBody);
Gson gson = new GsonBuilder().create();
LuisResult jsonsluisresult = gson.fromJson(responseBody, LuisResult.class);
System.out.println(jsonsluisresult.toString());
response.setQuery(jsonsluisresult.getQuery());
JSONObject topIntent = jsonsluisresult.getTopScoringIntent();
JSONObject intent = topIntent.getJSONObject("score");
public class LuisResult {
public LuisResult() {
super();
}
private String query;
public void setQuery(String query) {
this.query = query;
}
public String getQuery() {
return query;
}
private JSONObject topScoringIntent;
public void setTopScoringIntent(JSONObject topScoringIntent) {
this.topScoringIntent = topScoringIntent;
}
public JSONObject getTopScoringIntent() {
return topScoringIntent;
}
private ArrayList<JSONObject> entities;
public void setEntities(ArrayList<JSONObject> entities) {
this.entities = entities;
}
public ArrayList<JSONObject> getEntities() {
return entities;
}
private String intent;
public void setIntent(String intent) {
this.intent = intent;
}
public String getIntent() {
return intent;
}
}
responseBody:
{
"query": "what is the weather like in texas",
"topScoringIntent": {
"intent": "GetWeather",
"score": 0.697563648
},
"entities": [
{
"entity": "texas",
"type": "Location",
"startIndex": 28,
"endIndex": 32,
"score": 0.693443358
}
]
}
Я хочу получить "намерение" в "topScoringIntent" и "сущность" в "сущностях", используя gson, и вернуть их все в классе.