怎么把json字符串转换map
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把json字符串转换map相关的知识,希望对你有一定的参考价值。
package com.zkn.newlearn.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);
参考技术A
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.sf.json.JSONObject;
public Map<String, String> toMap(Object object)
Map<String, String> data = new HashMap<String, String>();
// 将json字符串转换成jsonObject
JSONObject jsonObject = JSONObject.fromObject(object);
Iterator ite = jsonObject.keys();
// 遍历jsonObject数据,添加到Map对象
while (ite.hasNext())
String key = ite.next().toString();
String value = jsonObject.get(key).toString();
data.put(key, value);
// 或者直接将 jsonObject赋值给Map
// data = jsonObject;
return data;
怎么把hashmap转换成实体类
参考技术A 我想当初往map里放的时候也是按对象放的吧?假设该类名叫MyObj,这是一个javaBean里面有name,left,top,type,width,height等属性,然后该类中有各字段的setter和getter方法。 假如Map对象名叫map,从map中取时这样:
MyObj obj = new MyObj();
obj.setName((String)map.get("name"));
obj.setLeft((int)map.get("left"));
obj.setTop((int)map.get("top"));
以下类推,这样就把map中的值根据键取出来,并且存入到对象obj的各个字段中本回答被提问者采纳
以上是关于怎么把json字符串转换map的主要内容,如果未能解决你的问题,请参考以下文章