关闭

解析JSON的三种方式

302人阅读 评论(0) 收藏 举报
分类:
JSONObject  
   JSONObject jsonObject = new JSONObject(strJson);
JSONArray jsonArray = jsonObject.getJSONArray("data");
{}  Jsonstr      bean      bean1....

[]

大括号{}
Gson gson = new Gson();
bean  b1 = gson.fromJson(Jsonstr,bean.class)


中括号[]:
 Gson gson = new Gson();
List<bean>  list = gson.fromJson(jsonString, new TypeToken<List<bean.class>>() {}.getType());


Gson:

使用泛型获取javaBean(核心函数)

(1),对象类型数据
public static <T> T getPerson(String jsonString, Class<T> cls) {
        T t = null;
        try {
            Gson gson = new Gson();
            t = gson.fromJson(jsonString, cls);

        } catch (Exception e) {
            // TODO: handle exception
        }
        return t;
    }
(2),集合类型数据
public static <T> List<T> getPersons(String jsonString, Class<T> cls) {
        List<T> list = new ArrayList<T>();
        try {
           Gson gson = new Gson();
            list = gson.fromJson(jsonString, new TypeToken<List<cls>>() {
            }.getType());

        } catch (Exception e) {
        }
        return list;
    }
(3),集合中含map类型数据
public static List<Map<String, Object>> listKeyMaps(String jsonString) {
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        try {
            Gson gson = new Gson();
            list = gson.fromJson(jsonString,
                    new TypeToken<List<Map<String, Object>>>() {
                    }.getType());

        } catch (Exception e) {
            // TODO: handle exception
        }
        return list;
    }

eg:
public static Mode getJson2(String json){

Gson gson = new Gson();
Mode mode = gson.fromJson(json, Mode.class);

return mode;
}





FastJson:

(1),集合类型数据
 List<T> datas = JSON.parseArray(str,T.class):解析一个数组    {jsonArray} [,,,,,,]
(2),对象类型数据
  T t = JSON.parseObject(str,T.class):解析一个对象  {jsonObject}  {}




FastJson对象的知识点:

fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

主要特点

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson

  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

  • 零依赖(没有依赖其它任何类库除了JDK)


一 、生成Json:
JavaBean、List<JavaBean>、List<String>、List<Map<String,Object>>

  1. String jsonString = JSON.toJSONString(obj);  

二、解析Json:
(1)JavaBean
            Class class= JSON.parseObject(jsonString, Class.class);  
(2)List<JavaBean
            List<Class> class=JSON.parseArray((jsonString, Class.class);  
(3)List<String>
            List<String> listString = JSON.parseArray(jsonString, String.class);  
(4)List<Map<String,Object>>
        List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new                                TypeReference<List<Map<String,Object>>>(){});  

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

JSON数据解析的三种情况+pjson的方式

直接解析JavaScript中的json字符串 解析页面内的字符串 序号
  • u010989191
  • u010989191
  • 2016-05-21 00:22
  • 1702

几种不同格式的json解析

给服务端发送请求后,服务端会返回一连串的数据,这些数据在大部分情况下都是XML格式或者JSON格式。然后JSON相对XML来说解析相对方便一些,所以先说说JSON的解析。 JSON的基本数据格式...
  • fanhu6816
  • fanhu6816
  • 2016-10-20 11:08
  • 3710

几种不同格式的json解析

给服务端发送请求后,服务端会返回一连串的数据,这些数据在大部分情况下都是XML格式或者JSON格式。然后JSON相对XML来说解析相对方便一些,所以先说说JSON的解析。 JSON的基本数据格式...
  • whx405831799
  • whx405831799
  • 2014-12-26 14:14
  • 10026

Android中Json数据解析三种方式:原生、Gson、FastJson

  • 2017-04-30 22:38
  • 28.38MB
  • 下载

android各种解析xml三种方式和json数据

  • 2013-05-31 15:59
  • 1.63MB
  • 下载

[Android学习]JSON的三种解析方式

一、什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会...
  • d_o_n_g2
  • d_o_n_g2
  • 2016-05-25 13:25
  • 158

Android---JSON的三种解析方式

Android---JSON的三种解析方式 一、什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速...
  • jolin678
  • jolin678
  • 2016-01-23 15:16
  • 198

JSON的三种解析方式

一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特定...
  • Leaning_wk
  • Leaning_wk
  • 2015-08-12 11:24
  • 294

pandas 解析json文件为DataFrame的三种方式以及其灵活度和效率的比较

我所了解到的,将json串解析为DataFrame的方式主要有一样三种: 利用pandas自带的read_json直接解析字符串 利用json的loads和pandas的json_normalize...
  • h4565445654
  • h4565445654
  • 2017-07-30 18:25
  • 3858

Android 小功能 -- JSON的三种解析方式

一、什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特...
  • u012573920
  • u012573920
  • 2014-07-21 16:20
  • 471
    个人资料
    • 访问:477933次
    • 积分:6625
    • 等级:
    • 排名:第4168名
    • 原创:273篇
    • 转载:59篇
    • 译文:0篇
    • 评论:49条