fastjson json和map及对象转换【转】【补】
fastjson一个jar包就能纵横天下,不像Json-lib.jar依赖其它jar包 , Json-lib.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相关文章
其它json相关文章
感觉空虚寂寞,只是因为你无所关注,无处付出。