fastjson如何解析json字符串数组呢?
下文笔者讲述fastjson解析字符串数组的方法分享,如下所示
解析json字符串数组有以下两种实现思路
方式1:
使用fastjson解析JSON字符串数组
我们可以使用 JSON.parseArray 方法
此方法可以将一个json字符串数组转换为 list对象
方式2:
使用for循环遍历json字符串
然后拼接出一个list对象
例:fastjson解析JSON字符串数组
import com.alibaba.fastjson.JSON;
import java.util.List;
public class Example {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]";
List personList = JSON.parseArray(jsonString, Person.class);
System.out.println(personList);
}
}
class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
运行以上代码,将输出以下信息
[Person{name='张三', age=18}, Person{name='李四', age=20}]
//jsonString:待解析的JSON字符串
Person指目标类型Class对象
即待转化成的数据类型
使用for循环解析
String jsonString = "[{\"fileid\":\"abc\",\"srcfileid\":\"123456\",\"transResult\":\"S\"},{\"fileid\":\"d\",\"srcfileid\":\"123457\",\"transResult\":\"S\"}]";
JSONArray jsonArray = JSON.parseArray(jsonString);
for (int i = 0; i <jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String fileid = jsonObject.getString("fileid");
String srcfileid = jsonObject.getString("srcfileid");
String transResult = jsonObject.getString("transResult");
System.out.println("fileid: " + fileid);
System.out.println("srcfileid: " + srcfileid);
System.out.println("transResult: " + transResult);
}
将JSON字符串传递给JSON.parseArray()方法 将字符串解析为一个JSONArray对象 然后 遍历JSONArray获取每个JSON对象 并使用getXXX()方法获取相应的属性值
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


