Java使用fastjson对String、JSONObject、JSONArray相互转换
时间:2022-03-25 09:41:22|栏目:JAVA代码|点击: 次
fastjson对String、JSONObject、JSONArray相互转换
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean
下面主要是本人在工作中经常用到的关于String、JSONObject、JSONArray的相互装换
String——>>>JSONArray
String st = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]";
JSONArray tableData = JSONArray.parseArray(st);
JSONArray——>>>JSONObject
JSONObject rowData = new JSONObject();
for(int i;i<tableData.length();i++){
rowData = tableData.getJSONObject[i];
}
String——>>>JSONObject
String st = "{name:Tim,age:25,sex:male}";
JSONObject rowData = JSONObject.parseObject(st);
JSONObject——>>>JSONArray
JSONObject rowData = {info:
[
{
name:Tim,
age:25,
sex:male
},{
name:Tom,
age:28,
sex:male
},{
name:Lily,
age:15,
sex:female
}
]
};
JSONArry tableData = rowData.get("info");
com.alibaba.fastjson.JSONObject、JSONArray与String之间的转换demo
话不多说,直接上代码
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
* Created by LH on 2019/2/21 14:08
*/
public class JsonDemo {
public static void main(String[] args) {
//1.json字符串转换为对象
String jsonString="{'name':'42313123','id':'2345','age':12}";
JSONObject jsonObject = JSONObject.parseObject(jsonString);
String id = jsonObject.getString("id");
System.out.println(id);
//2. JSONObject转化成自定义类对象
PeoplePo peoplePo1 = JSONObject.parseObject(jsonString, PeoplePo.class);
System.out.println(peoplePo1);
//3. JSONObject转化成Map集合
Map map = JSONObject.parseObject(jsonString, Map.class);
System.out.println(map);
//4. 自定义对象转化成json格式的字符串
PeoplePo peoplePo = new PeoplePo();
peoplePo.setId("1");
peoplePo.setAge(11);
peoplePo.setName("LH");
String peopleJson = JSON.toJSONString(peoplePo);
System.out.println(peopleJson);
//5. String类型转化成JSONObject;
String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
JSONObject jsonObject1 = JSONObject.parseObject(str);
System.out.println(jsonObject1);
//6. JSONObject转化成JSONArray的两种方式
String str1 = "{\"result\":\"success\",\"message\":\"成功!\",\"data\":[{\"name\":\"Tom\",\"age\":\"20\"}]}";
JSONObject jsonToArray = JSONObject.parseObject(str1);
//方式一
JSONArray data = jsonToArray.getJSONArray("data");
System.out.println(data);
//方式二
JSONArray jsonArray = JSONArray.parseArray(jsonToArray.getString("data"));
System.out.println(jsonArray);
//7. jsonArray转化成JSONObject并取出其中的元素数据
JSONObject o = (JSONObject) jsonArray.get(0);
String name = o.getString("name");
System.out.println(o);
System.out.println(name);
System.out.println(jsonArray.toString());
}
}
栏 目:JAVA代码
本文标题:Java使用fastjson对String、JSONObject、JSONArray相互转换
本文地址:http://www.codeinn.net/misctech/197257.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




