响应体的JSON字符串是一个数组,而不是一个对象,需要使用TypeToken<List<Sbxx>>()来解析例子
时间: 2024-02-06 07:09:10 浏览: 74
JS解析json格式字符串
4星 · 用户满意度95%
好的,那我来给你举一个例子:
假设响应体的JSON字符串为:
```json
[
{
"sbmc": "电脑",
"sbbh": "123",
"sccj": "联想",
"xhgg": "ThinkPad T480"
},
{
"sbmc": "手机",
"sbbh": "456",
"sccj": "华为",
"xhgg": "Mate 20 Pro"
}
]
```
那么你可以使用以下代码来解析这个JSON字符串:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class Example {
public static void main(String[] args) {
String json = "[{\"sbmc\":\"电脑\",\"sbbh\":\"123\",\"sccj\":\"联想\",\"xhgg\":\"ThinkPad T480\"},{\"sbmc\":\"手机\",\"sbbh\":\"456\",\"sccj\":\"华为\",\"xhgg\":\"Mate 20 Pro\"}]";
Type type = new TypeToken<List<Sbxx>>(){}.getType();
List<Sbxx> sbxxList = new Gson().fromJson(json, type);
for (Sbxx sbxx : sbxxList) {
System.out.println(sbxx.getSbmc());
System.out.println(sbxx.getSbbh());
System.out.println(sbxx.getSccj());
System.out.println(sbxx.getXhgg());
System.out.println();
}
}
}
class Sbxx {
private String sbmc;
private String sbbh;
private String sccj;
private String xhgg;
public String getSbmc() {
return sbmc;
}
public void setSbmc(String sbmc) {
this.sbmc = sbmc;
}
public String getSbbh() {
return sbbh;
}
public void setSbbh(String sbbh) {
this.sbbh = sbbh;
}
public String getSccj() {
return sccj;
}
public void setSccj(String sccj) {
this.sccj = sccj;
}
public String getXhgg() {
return xhgg;
}
public void setXhgg(String xhgg) {
this.xhgg = xhgg;
}
}
```
这段代码使用了Gson库来解析JSON字符串,其中TypeToken用于获取List<Sbxx>类型的Type对象,然后通过Gson的fromJson()方法将JSON字符串解析为List<Sbxx>对象。最后遍历List<Sbxx>对象并输出每个Sbxx对象的属性值。
希望这个例子能够帮到你。
阅读全文