我是格森的新手。我需要将下面的JSON响应转换成一个列表。
JSON响应:
{
"data": [{
"data": {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}
}, {
"data": {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}
}]
}
我有一门课要教数据
账户JAVA
public class Account {
public int ac_id;
public int user_id;
public String title;
@Override
public String toString(){
return "Account{"+
"ac_id="+ac_id+
", user_id="+user_id+
", title="+title+'}';
}
}
当我对我的班级做出回应时,我得到了:
[Account{ac_id="000", user_id="000", title="AAA"}, Account{ac_id="000", user_id="000", title="AAA"}]
现在我需要将这两个值放入列表中
嵌套的"data"
键是没有意义的。如果你能修复你的JSON,你应该改用这个。
{
"data": [{
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}, {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}]
}
这样就行了。
JSONObject data = new JSONObject(response);
JSONArray accounts = data.getJSONArray("data");
List<Account> accountList = new Gson()
.fromJson(accounts.toString(), new TypeToken<ArrayList<Account>>(){}.getType());
或者,第一个“数据”
也不是真的需要
如果你能让你的JSON成为帐户列表。。。
[{
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}, {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}]
这会管用的
List<Account> accountList = new Gson()
.fromJson(response, new TypeToken<ArrayList<Account>>(){}.getType());
为此,您可以使用令牌,以便gson能够理解自定义类型。。。
TypeToken<List<Account>> token = new TypeToken<List<Account>>(){};
List<Account > accountList= gson.fromJson(response, token.getType());
for(Account account : accountList) {
//some code here for looping }
JSONObject data = new JSONObject(response);
JSONArray accounts = data.getJSONArray("data");
List<Account> accountList = new Gson().fromJson(accounts.toString(), new TypeToken<ArrayList<Account>>(){}.getType());
如果您无法更改JSON响应以删除内部“数据”键,您可以使用以下命令:
Gson gson = new Gson();
ArrayList<Account> accountList = new ArrayList<Account>();
JSONArray accounts = data.getJSONArray("data");
for (int i = 0; i < accounts.length(); i++) {
JSONObject a = accounts.getJSONObject(i).getJSONObject("data");
accountList.add(gson.fromJson(a.toString(), Account.class));
}
我需要将其转换为以下格式: 类型的数量可以改变(例如,可以只有A和B)。有人能帮我吗?我使用这个组件在网站https://js.devexpress.com/demos/widgetsgallery/demo/datagrid/simplearray/angular/light/上显示数据
我有一个问题,我已经在stackoverflow上问了几次,我已经尝试了所有这些问题,没有一个有效。所以我很想在另一个时间总结这个问题,并试着更准确地描述它。 我正在构建一个应用程序,将图片发送到python后端,以获得xcode swift中的图像识别结果。 我正在使用Alamofire上传,这里是上传部分: 下面是我从服务器端得到的json响应: 所以,我想要达到的目的,就是打印第一个预言的名
我正在处理jBPM 7.22.0。最终的 我使用服务任务REST从这个api获取响应https://reqres.in/api/users/1 我想将此响应获取到一个对象中,因此我创建了这个类(或jBPM中调用的数据对象): 我在jBPM中创建了一个名为res的全局变量,该变量具有我要存储响应的数据对象的类型。因此,在我的REST服务任务的“任务”中,我有屏幕截图中的内容。 如您所见,我想将结果存
使用此JSON,自动JSON到POJO严重失败。 请注意,不同请求的项目数量不同。在这里,我将包含两项JSON响应。 这个JSON对象的POJO会是什么样子?
null 这是很好的,因为我可以确定我的API请求是否成功。 但是: 由于JSend格式有它自己的东西,它在响应时也有一个小的状态指示器,如下所示: 我是否应该坚持手动解析并使用而不是我的模型 对于类型paramter? 因为这样,我可以使用并将字符串转换为JSON,然后我可以手动解析模型,就像为它们编写解析器一样。
我有一个带有POST REST API的SpringBoot2.2 webservice。我正在使用Okhttp客户机向第三方服务发出请求。我希望将第三方服务的确切响应返回给我的WebService的调用者。所有okhttp食谱都参考: 我尝试在api中返回okhttp响应,但我只返回调用方示例: 有人知道如何将Okhttp响应对象转换为Spring ResponseEntity对象以便返回htt