fastjson json和map及对象转换【转】【补】

 

 fastjson一个jar包就能纵横天下,不像Json-lib.jar依赖其它jar包 , Json-lib.jar性能之低, 令人发指.

点击右边图片下载jar包       或以下链接

http://central.maven.org/maven2/com/alibaba/fastjson/1.2.7/fastjson-1.2.7.jar

json转map

package kingtool.transform;

import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 史上最快json解析工具
 * fastjson 转换json成map
 * @author King
 * @date 2016-06-04
 *
 */
public class Json2MapTool {
    private static String str = "{\"name\":\"bobo\",\"address\":\"hangzhou\",\"age\":\"18\",\"love\":\"java\"}";
    
    public static void main(String[] args) {
        // 方式1
        Map map1 = (Map) JSON.parse(str);
        print(map1);
        //{"love":"java","address":"hangzhou","age":"18","name":"bobo"}
        
        // 方式2
        Map map2 = JSON.parseObject(str);
        print(map2);
        //{"love":"java","address":"hangzhou","age":"18","name":"bobo"}
        
        // 方式3
        Map map3 = JSON.parseObject(str, Map.class);
        print(map3);
        //{love=java, address=hangzhou, age=18, name=bobo}
        
        // 方式4
        // 特别声明 JSONObject其实是Map接口的一个实现类
        Map map4 = (Map<String, String>) JSONObject.parse(str);
        print(map4);
        //{"love":"java","address":"hangzhou","age":"18","name":"bobo"}
        
        // 方式5
        JSONObject map5 = JSONObject.parseObject(str);
        print(map5);
        //{"love":"java","address":"hangzhou","age":"18","name":"bobo"}
        
        // 方式 6
        Map map6 = JSONObject.parseObject(str, Map.class);
        print(map6);
        //{love=java, address=hangzhou, age=18, name=bobo}
    }
    
    public static void print(Map maps) {
        System.out.println(maps);
    }

    public static void printMap(Map<String,String> maps){
         for (Map.Entry<String, String> map : maps.entrySet()){
         System.out.println(map.getKey()+"     " + map.getValue());
         }
    }
}

 

map转json

注意map的key必须是string的,不能为Object;当然也不一定非要map,可以为任意Object

Map<String,Object> map = new HashMap<String,Object>();
JSONObject json=new JSONObject(map);//参数也可以为任意Object

 

 json转string时把null字符串替换成""

String result = JSONObject.toJSONString(vo,SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);

 

 

 

我的实际项目使用

RequestVo requestVo = JSON.parseObject(data, RequestVo.class);

 

我的其它json相关文章

fastjson基本使用 (待继续完善)【原】

fastjson json和map及对象转换【转】【补】

Gson入门教程【原】

其它json相关文章

$$$fastjson格式化bean的简易属性过滤器

$$$FastJSON 简单使用

 

简单参考: http://blog.csdn.net/zknxx/article/details/52281220

posted @ 2016-06-04 16:21  苦涩泪滴  阅读(1280)  评论(0编辑  收藏  举报