String字符串生成JSONObject和JSONArray数据

首先要搞清楚有三种包都支持字符串转json数据,但这两种的语法并不相同。这三个包分别是:org.json和json-lib;和 alibaba.fastjson.JSONArray;其中如果要用json-lib的话还必须下载另外5个jar包,而使用org.json和alibaba.fastjson.JSONArray则不需要。

一、使用json-lib的程序:

1、String生成JSONArray:

生成结果:

 

2、String生成JSONObject:

生成结果:

 

二、使用org.json的程序

1、String转JSONArray,结果与上面一样:

 

2、String生成JSONObject,结果与上面一样:

 

 

三、使用alibaba.fastjson.JSONArray的程序

话不多说,直接上代码

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
    //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());

 

 

关于包:

1、如果选第一种方式json-lib,需要下载6个包:

2、如果选择第二种方式org.json,只需要下载一个包,因此强烈建议用这种方式:

各种jar包的下载链接:http://download.csdn.net/detail/u014260748/8496327点击打开链接

你可能感兴趣的:(String字符串生成JSONObject和JSONArray数据)