gson&&fastjson
来源:互联网 发布:办公室网络综合布线 编辑:程序博客网 时间:2024/06/15 19:52
maven依赖
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.5</version></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version></dependency>
Gson
String personJsonInfo={"":""};Gson gson = new Gson();//Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();//排除掉bean中没有Expose注解的属性Person person = gson.fromJson(personJsonInfo, Person.class);
JsonArray
String personJsonInfo=[{no:'a',name:'aa'},{no:'b',name:'bb'},{no:'c',name:'cc'},{no:'d',name:'dd'}];JSONArray jsonArray = JSONArray.fromObject(personJsonInfo);person =new ObjectMapper().readValue(jsonArray.getString(i), Person.class);或JSONObject json = jsonArray.getJSONObject(i); //json.get("no")
JSONObject jsonObject = JSONObject.fromObject(data);//按缺省排序 JSONObject jsonObject = JSONObject.parseObject(personJsonInfo,JSONObject.class, Feature.OrderedField);JSONObject orderInfoJson = null;if (jsonObject.has("orderInfo")) { orderInfoJson = jsonObject.getJSONObject("orderInfo");}
//生成jsonpublic static String createJsonString(String key, Object value) { JSONObject jsonObject = new JSONObject(); jsonObject.put(key, value); //删除 jsonObject.remove(key); return jsonObject.toString();}
注意:
1、为了避免使用Gson时遇到locale影响Date格式的问题,如下
Caused by: java.text.ParseException: Failed to parse date ["2017-12-21 11:30:08']: Invalid time zone indicator ' '
则使用GsonBuilder来创建Gson对象,在创建过程中调用GsonBuilder.setDateFormat(String)指定一个固定的格式即可。例如:
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); //按照 yyyy-MM-dd HH:mm:ss格式化。
2、Gson因无法解析时间戳格式,而出现类似以下的异常
java.text.ParseException: Failed to parse date ["1302828677828']: Invalid time zone indicator '7' (at offset 0)
则需要设置转换适配器如下
// Creates the json object which will manage the information received GsonBuilder builder = new GsonBuilder(); // Register an adapter to manage the date types as long values builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() { public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { return new Date(json.getAsJsonPrimitive().getAsLong()); } });Gson gson = builder.create();
阅读全文
0 0
- gson&&fastjson
- Android JSON(Fastjson,Gson)
- Android fastJson和Gson
- Gson、Jackson和FastJSON
- fastjson用法&Gson
- fastjson与Gson
- Gson,FastJson, Jackson测试
- Json、FastJson、Gson
- Gson与Fastjson性能比较
- json之Gson和FastJson
- Json,Gson,FastJson解析笔记
- 简单json,FastJson,Gson解析
- fastjson,gson的性能比较
- fastJson和Gson的比较
- Gson和Fastjson的使用
- Json,Gson,FastJson解析笔记
- Gson和Fastjson解析对比
- FastJSON、Jackson和Gson用法
- poi生成excel
- 实验六 vlan的基本配置--自我操作
- 一头扎进Maven3 (四)
- 一些场景的优化方案和解决方案
- mysql之 远程连接 mysql 很慢,本地连接 mysql 很快 (skip-name-resolve)
- gson&&fastjson
- 输出价格相同的书名
- 字符串数组初始化相关问题总结
- [算法分析与设计] leetcode 每周一题: 420. Strong Password Checker
- 实验八 常见网络测试命令--自我操作
- 延拓版扫雷
- python多进程、多线程、协程向mysql插入10000条数据
- QA(二):利用Attention机制,带着问题阅读
- smo_sensorless pmsm控制中滑模增益K的选取