json转List、Map
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; public class JsonUtil {
/**
* json字符串转化为数组
* @param json
* @return
*/
public static List<Map<String, Object>> json2List(Object json) {
JSONArray jsonArr = (JSONArray) json;
List<Map<String, Object>> arrList = new ArrayList<Map<String, Object>>();
for (int i = 0; i < jsonArr.size(); ++i) {
arrList.add(strJson2Map(jsonArr.getString(i)));
}
return arrList;
} /**
* json字符串转化为Map
* @param json
* @return
*/
public static Map<String, Object> strJson2Map(String json) {
JSONObject jsonObject = JSONObject.parseObject(json);
Map<String, Object> resMap = new HashMap<String, Object>();
Iterator<Entry<String, Object>> it = jsonObject.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> param = (Map.Entry<String, Object>) it.next();
if (param.getValue() instanceof JSONObject) {
resMap.put(param.getKey(), strJson2Map(param.getValue().toString()));
} else if (param.getValue() instanceof JSONArray) {
resMap.put(param.getKey(), json2List(param.getValue()));
} else {
resMap.put(param.getKey(), JSONObject.toJSONString(param.getValue(), SerializerFeature.WriteClassName));
}
}
return resMap;
}
}
json、List互转
package com.listandjson; import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray; public class Test { public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("123"); //list转成json
String json =JSONArray.fromObject(list).toString();
System.out.println(json);
//运行:["abc","123"] //json转成list
JSONArray jsonArray = JSONArray.fromObject(json);
List<String> list2 = (List) JSONArray.toCollection(jsonArray);
for (int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i));
//运行:abc
// 123
}
}
}
jsonStr转Map
     package com.json;  
     import com.alibaba.fastjson.JSON;
     import com.alibaba.fastjson.JSONObject;
     import java.util.Map;  
     /**
      * JSON字符串自动转换
      * Created by zkn on 2016/8/22.
      */
     public class JsonToMapTest01 {  
         public static void main(String[] args){  
             String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
             //第一种方式
             Map maps = (Map)JSON.parse(str);
             System.out.println("这个是用JSON类来解析JSON字符串!!!");
             for (Object map : maps.entrySet()){
                 System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());
             }
             //第二种方式
             Map mapTypes = JSON.parseObject(str);
             System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");
             for (Object obj : mapTypes.keySet()){
                 System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
             }
             //第三种方式
             Map mapType = JSON.parseObject(str,Map.class);
             System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
             for (Object obj : mapType.keySet()){
                 System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
             }
             //第四种方式
             /**
              * JSONObject是Map接口的一个实现类
              */
             Map json = (Map) JSONObject.parse(str);
             System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");
             for (Object map : json.entrySet()){
                 System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
             }
             //第五种方式
             /**
              * JSONObject是Map接口的一个实现类
              */
             JSONObject jsonObject = JSONObject.parseObject(str);
             System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
             for (Object map : json.entrySet()){
                 System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
             }
             //第六种方式
             /**
              * JSONObject是Map接口的一个实现类
              */
             Map mapObj = JSONObject.parseObject(str,Map.class);
             System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
             for (Object map: json.entrySet()){
                 System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
             }
             String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +
                     "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";
            // JSONArray.parse()
             System.out.println(json);
         }
     }  
json转List、Map的更多相关文章
- json字符串转map
		<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</ar ... 
- fastJson将json字符串转换为map
		public class JsonUtil { /** * 将json转化成map * @param jsonStr * @return */ public static Map<String, ... 
- JSON字符串与Map互转
		//一.map转为json字符串 public static String map2jsonstr(Map<String,?> map){ return JSONObject.toJSON ... 
- Json字符串转map集合
		第一步:在pom.xml中添加依赖; <dependency> <groupId>com.alibaba</groupId> <artifactId>f ... 
- json字符串转Map、json数组
		json数组转map public static void main(String[] args){ String strArr = "[{\"0\":\"zh ... 
- go语言之进阶篇json解析到map
		1.json解析到map(通过类型断言,找到值和value类型) 示例: package main import ( "encoding/json" "fmt" ... 
- JSON字符串转换为Map
		本文是利用阿里巴巴封装的FastJSON来转换json字符串的.例子如下: package com.zkn.newlearn.json; import com.alibaba.fastjson.JSO ... 
- [GO]json解析到map
		package main import ( "encoding/json" "fmt" ) var str string func main() { m := ... 
- C++实现json字符串与map的转换
		开源资源库 jsoncpp-src-0.5.0.tar.gz:https://sourceforge.net/projects/jsoncpp/ jsoncpp-master.ziphttps://g ... 
- json转换成Map
		1.如果转换的是Map.或者是简单的对象 package com.gc.action; import java.util.Map; import net.sf.json.JSONObject; /** ... 
随机推荐
- 编程之美 set 2 精确表达浮点数
			有限小数和无限循环小数转化成分数 比如 0.9 -> 9/10 0.333(3) -> 1/3 解法 1. 主要涉及到一个数学公式的计算. 2. 对于有限小数, 分子分母求最大公约数即可 ... 
- 动态加载script文件
			动态加载script文件: http://www.cnblogs.com/skykang/archive/2011/07/21/2112685.html 
- 【IIS】IIS 7.0/7.5 绑定
			window 7 IIS 7.0/7.5 默认站点不存在,甚至Http的绑定类型也无法选择,而绑定类型是空的,或者是别的.此时IIS无法正常创建IIS站点,而创建IIS站点的页面也不是通常的页面,此时 ... 
- jquery remove() detach()  empty()三种方法的区别
			remove方法把事件删除掉了,数据并没有删除 detach方法保存了事件和数据 empty方法保留了元素本身,移除子节点,删除内容 举例: <!DOCTYPE html><html ... 
- Python全栈day10(运算符)
			一,运算符 + - * . ** % // 二,in 和not in 一个字符串包含多个字符可以通过in判断字符是否属于改字符串 >>> name = "zhangsan& ... 
- 回车(CR)换行(LF)的来历及区别
			转自https://blog.csdn.net/lw370481/article/details/8229344 一.回车”(Carriage Return)和“换行”(Line Feed)起源 回车 ... 
- 忽略UserInterfaceState.xcuserstate
			GIT忽略iOS项目UserInterfaceState.xcuserstate 1.删除仓库中跟踪的UserInterfaceState.xcuserstate git rm --cached ... 
- Linux 搭建Git服务器
			安装Git yum install -y git git --version 创建 Git 用户 sudo adduser git // 设置密码 passwd git 导入公钥 find / -na ... 
- 原!linux脚本 expect命令 完成 输入密码交互 进行scp远程文件拷贝
			1.安装expect yum install expect expect相关知识--- https://blog.csdn.net/lufeisan/article/details/53488395 ... 
- linux多服务器之间的目录文件同步
			一.rsync是什么 在开始正式学习rsync之前,我们先来回答这个问题:rsync是什么. rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具.它可通过 ... 
