好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java使用fastjson对String、JSONObject、JSONArray相互转换

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

查看更多关于Java使用fastjson对String、JSONObject、JSONArray相互转换的详细内容...

  阅读:51次