Json,Gson,FastJson解析笔记
Json,Gson,FastJson解析笔记
1.将JavaBean转换成Json对象:
- public static String CreatJsonFromObject(Object key,Object value)
- {
- JSONObject JObj =new JSONObject();
- JObj.put(key, value);
- return JObj.toString();
- }
2.解析Json:
- public static Person parseJsonPerson(String key,String jsonStr)
- {
- System.out.print(key+"-->"+jsonStr);
- Person person =new Person();
- JSONObject jobj;
- try
- {
- jobj = new JSONObject(jsonStr);
- JSONObject personObj =jobj.getJSONObject(key);
- person.setAge(personObj.getInt("age"));
- person.setName(personObj.getString("name"));
- person.setSex(personObj.getString("sex"));
- }
- catch (JSONException e)
- {
- e.printStackTrace();
- }
- return person;
- }
- public static List<Person> parseJsonListPerson(String key,String jsonStr)
- {
- System.out.print(key+"-->"+jsonStr);
- List<Person> list=new ArrayList<Person>();
- try
- {
- JSONObject jobj;
- jobj = new JSONObject(jsonStr);
- JSONArray personArr =jobj.getJSONArray(key);
- for(int i=0;i<personArr.length();i++)
- {
- JSONObject personObj = personArr.getJSONObject(i);
- Person person =new Person();
- person.setAge(personObj.getInt("age"));
- person.setName(personObj.getString("name"));
- person.setSex(personObj.getString("sex"));
- list.add(person);
- }
- }
- catch (JSONException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return list;
- }
- public static List<String> parseJsonListString(String key,String jsonStr)
- {
- System.out.print(key+"-->"+jsonStr);
- List<String> list =new ArrayList<String>();
- try
- {
- JSONObject jobj;
- jobj = new JSONObject(jsonStr);
- JSONArray personArr =jobj.getJSONArray(key);
- for(int i=0;i<personArr.length();i++)
- {
- String personObj = personArr.getString(i);
- list.add(personObj);
- }
- }
- catch (JSONException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return list;
- }
- public static List<Map<String, Object>> parseJsonListMap(String key,String jsonStr)
- {
- System.out.print(key+"-->"+jsonStr);
- List<Map<String, Object>> list =new ArrayList<Map<String,Object>>();
- try
- {
- JSONObject jobj;
- jobj = new JSONObject(jsonStr);
- JSONArray personArr =jobj.getJSONArray(key);
- for(int i=0;i<personArr.length();i++)
- {
- JSONObject personObj = personArr.getJSONObject(i);
- Iterator<String> set =personObj.keys();
- while(set.hasNext())
- {
- String tempKey =set.next();
- Object tempValue =personObj.get(tempKey);
- HashMap<String,Object> map =new HashMap<String,Object>();
- //注意tempValue可能为空
- if(tempValue == null)
- {
- tempValue="";
- }
- map.put(tempKey, tempValue);
- list.add(map);
- }
- }
- }
- catch (JSONException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return list;
- }
Gson:
1.将JavaBean转换成Gson String
- public static String CreatJsonFromObject(Object value)
- {
- Gson gson =new Gson();
- return gson.toJson(value);
- }
2.解析Gson String
- public static <T> T getPerson(String Json, Class<T> cls)
- {
- Gson gson = new Gson();
- T t = gson.fromJson(Json, cls);
- return t;
- }
- public static <T> List<T> getPersons(String Json, Class<T> Type)
- {
- List<T> list = new Gson().fromJson(Json, new TypeToken<List<T>>()
- {
- }.getType());
- return list;
- }
- public static List<String> getString(String Json)
- {
- List<String> retStr = new Gson().fromJson(Json, new TypeToken<List<String>>()
- {
- }.getType());
- return retStr;
- }
- public static List<Map<String, Object>> getListMap(String Json)
- {
- List<Map<String, Object>> retStr = new Gson().fromJson(Json, new TypeToken<List<Map<String, Object>>>()
- {
- }.getType());
- return retStr;
- }
FastJson:
1.将JavaBean转换成FastJson String
服务端利用上述方式实现
2.解析FastJson String
- public static <T> T getPerson(String jsonStr, Class<T> cls)
- {
- T t = JSON.parseObject(jsonStr, cls);
- return t;
- }
- public static <T> List<T> getPersons(String jsonStr, Class<T> cls)
- {
- List<T> list = JSON.parseArray(jsonStr, cls);
- return list;
- }
- /**
- * @param jsonStr
- * @return
- */
- public static List<Map<String, Object>> getListMap(String jsonStr)
- {
- List<Map<String, Object>> list = JSON.parseObject(jsonStr, new TypeReference<List<Map<String, Object>>>()
- {
- });
- return list;
- }
Json,Gson,FastJson解析笔记的更多相关文章
- android Json Gson FastJson 解析
一 Json xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
- Android JSON,Gson,fastjson实现比较
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- JSON 之FastJson解析
http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html 一.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具 ...
- (转)JSON 之FastJson解析
一.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parse ...
- Android进阶笔记17:3种JSON解析工具(org.json、fastjson、gson)
一. 目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),其中解析速度最快的是Gson. 3种json工具下 ...
- Android进阶笔记14:3种JSON解析工具(org.json、fastjson、gson)
一. 目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),其中解析速度最快的是Gson. 3种json工具下 ...
- [转] 各种Json解析工具比较 - json-lib/Jackson/Gson/FastJson
JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...
- Java对【JSON数据的解析】--fastjson解析法
要求:解析下面JSON数据 String string = "{no:1,name:'Android',employees:[{name:'zhangsan',age:20},{name:' ...
- fastjson解析任意json
fastjson解析任意json到bean 解析案例的代码 package com.base.config; import java.util.List; import com.alibaba.fas ...
随机推荐
- 把HTML5网页封装成APP,APK的方法
phonegap appcan HBuilder的native.js 推荐你用两个东西打包 一个是ionic,一个是hbuilder,Maven,apicloud http://mobi ...
- Lucene.Net 2.3.1开发介绍 —— 二、分词(四)
原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(四) 2.1.2 可以使用的内置分词 简单的分词方式并不能满足需求.前文说过Lucene.Net内置分词中StandardAnalyze ...
- 浅析innodb_support_xa与innodb_flush_log_at_trx_commit
很久以前对innodb_support_xa存在一点误解,当初一直认为innodb_support_xa只控制外部xa事务,内部的xa事务是mysql内部进行控制,无法人为干预(这里说的内部xa事务主 ...
- fastjson 之常见的数据类型与json的相互转换
public class FastJsonTest1 { /** * 数组转json格式字符串 */ public void array2Json(){ String[] arr = {"b ...
- delphi 精要-读书笔记(内存分配释放)
delphi 精要-读书笔记(内存分配释放) 1.内存分为三个区域:全局变量区,栈区,堆区 全局变量区:专门存放全局变量 栈区:分配在栈上的变量可被栈管理器自动释放 堆区:堆上的变量内存必须人 ...
- jQuery EasyUI API 中文文档 - 菜单按钮(menubutton)
<html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...
- hprose rpc使用实例(同时有Java和Delphi客户端的例子)
php server <?php require_once('src/Hprose.php'); function hello($name) { echo "Hello $name!& ...
- U盘1G变8M解决的方法
本人曾有一个大小为1G的纽曼U盘,在一年前不幸中毒,格式化之后就仅仅剩8M了,然后再也无法正常格式化.尽管仅仅有8M,但总认为扔了可惜,于是乎,就一直束之高阁.昨天突然心血来潮,决定再试一试,纯粹是死 ...
- make工具与Makefile文件
make工具与Makefile文件 阅读目录 1. make工具 2. Makefile文件 3. Makefile的简单示例 4. 伪目标 5. Makefile 自动化变量 6. 编译生成多个可执 ...
- M I S 开发与管理
今天是开学的第一天,很意外的一天没课.但是我知道还有很多事情在等待这我,不能懈怠!安排好计划,把重要不紧急的事情逐渐蚕食掉,切不可养虎为患,等拖到它变成重要紧急事件后,那就后悔莫及了. 下午看了看自考 ...