fastjson对String、JSONObject、JSONArray相互转换
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean
下面主要是本人在工作中经常用到的关于String、JSONObject、JSONArray的相互装换
String——>>>JSONArray
1
2
|
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
1
2
3
4
|
JSONObject rowData = new JSONObject(); for ( int i;i<tableData.length();i++){ rowData = tableData.getJSONObject[i]; } |
String——>>>JSONObject
1
2
|
String st = "{name:Tim,age:25,sex:male}" ; JSONObject rowData = JSONObject.parseObject(st); |
JSONObject——>>>JSONArray
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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
话不多说,直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
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()); } } |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/java_doctor/article/details/82220815