map转成json对象(map转换为json对象)

map转成json对象(map转换为json对象)nbsp 1 将 map 转换成 jsonObject nbsp JSONObject itemJSONObj nbsp JSONObject parseObject JSON toJSONString itemMap 将 Map 类型的 itemInfo 转换成 json 再经 JSONObject 转换实现 nbsp 2 将 jsonObj 转换成 Map Map string object itemMap JSONObject string




1、//将map转换成jsonObject

JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap));

将Map类型的itemInfo转换成json,再经JSONObject转换实现。

2、//将jsonObj转换成Map
Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class);

//JOSN.parseObjet()方法同样可以转换

3、//将List转换成JSONArray

JSONArray ja = JSONArray.parseArray(JSON.toJSONString(itemList));

4、//将JSONArray转换成List

这个涉及功能比较广,有达人整理的更为完善。

链接如下:

5 json转成对象

List<ChannelItem> channelItemList = JSON.parseArray(itemJson,ChannelItem.class);

转载:

FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能。

实际上其他的json处理工具都和它差不多,api也有几分相似。

一、JSON规范

JSON是一个标准规范,用于数据交互,规范的中文文档如下:

http://www.json.org/json-zh.html

参看规范,来对比JSON类库处理结果。

二、fastjson的一些简要说明

1、了解fastjson

Fastjson介绍

Fastjson是一个Java语言编写的JSON处理器。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home

如果获得Fastjson?SVN:http://code.alibabatech.com/svn/fastjson/trunk/WIKI:http://code.alibabatech.com/wiki/display/FastJSON/HomeIssue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

2、主要的使用入口

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

3、有关类库的一些说明

SerializeWriter:相当于StringBuffer

JSONArray:相当于List<Object>

JSONObject:相当于Map<String, Object>

JSON反序列化没有真正数组,本质类型都是List<Object>

4、fastjson还有很多很高级的特性,比如支持注解、支持全类型序列化,这些都是很好的特性,功能强大,不在本次测试范围。

说明:

SerializeConfig:是对序列化过程中一些序列化过程的特殊配置,这里用作日期格式的定义。

有关需要带类型的全类型序列化过程,需要调用JSON.toJSONStringZ()方法。

需要美化输出时候,需要打开序列化美化开关,在方法中true那个参数。

fastjson通过各方面测试都很好,功能性能都是No.1,喜欢,它的源代码质量很高,作者也煞费苦心,将性能做到了最好,全免超越其他的json类库。

从其中的源代码中,可以学到很多东西,在阅读源码后,不得不佩服作者高超的程序设计水平,和高质量的编码。

感谢alibaba对此工具开源。

fastjson-1.1.10-sources.jar

由于fastjson缺乏良好的api文档,在阅读源码过程中,参考了网上一些文档:

http://code.alibabatech.com/wiki/display/FastJSON/Home

http://www.ibm.com/developerworks/cn/education/java/j-generics/section5.html

http://www.iflym.com/index.php/code/alibaba-fastjson-json-serializer-chapter-source-analyse-one-global-analyse.html





编程小号
上一篇 2025-02-16 13:11
下一篇 2025-02-16 16:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/49858.html