Java 将一个String 形式的json转化成Map,比如"{\"a\":\"1\",\"b\ java在后台如何将前台传过来的json格式数据转换为map...

java\u5c06 json\u6570\u7ec4\u8f6cmap\uff0c\u4f8b[{"key":"1"},{"key1":"2"}]\u8f6c\u6362\u6210\u4e00\u4e2amap

HashMap map = new HashMap();
String jsonStr="[{\"key\":\"1\"},{\"key1\":\"2\"}]";
JSONArray jsonArr=JSONArray.fromObject(jsonStr);
for(int i=0;i<jsonArr.size();i++){
JSONObject obj = JSONObject.fromObject(jsonArr.get(i));
Iterator it = obj.keys();
while (it.hasNext()){
String key = String.valueOf(it.next());
String value = (String) obj.get(key);
map.put(key, value);
}
}
System.out.println(map);


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;

/**
* JSON\u5b57\u7b26\u4e32\u81ea\u52a8\u8f6c\u6362
* 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\"}";
//\u7b2c\u4e00\u79cd\u65b9\u5f0f
Map maps = (Map)JSON.parse(str);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSON\u7c7b\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
//\u7b2c\u4e8c\u79cd\u65b9\u5f0f
Map mapTypes = JSON.parseObject(str);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSON\u7c7b\u7684parseObject\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
for (Object obj : mapTypes.keySet()){
System.out.println("key\u4e3a\uff1a"+obj+"\u503c\u4e3a\uff1a"+mapTypes.get(obj));
}
//\u7b2c\u4e09\u79cd\u65b9\u5f0f
Map mapType = JSON.parseObject(str,Map.class);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSON\u7c7b,\u6307\u5b9a\u89e3\u6790\u7c7b\u578b\uff0c\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
for (Object obj : mapType.keySet()){
System.out.println("key\u4e3a\uff1a"+obj+"\u503c\u4e3a\uff1a"+mapType.get(obj));
}
//\u7b2c\u56db\u79cd\u65b9\u5f0f
/**
* JSONObject\u662fMap\u63a5\u53e3\u7684\u4e00\u4e2a\u5b9e\u73b0\u7c7b
*/
Map json = (Map) JSONObject.parse(str);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSONObject\u7c7b\u7684parse\u65b9\u6cd5\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//\u7b2c\u4e94\u79cd\u65b9\u5f0f
/**
* JSONObject\u662fMap\u63a5\u53e3\u7684\u4e00\u4e2a\u5b9e\u73b0\u7c7b
*/
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSONObject\u7684parseObject\u65b9\u6cd5\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//\u7b2c\u516d\u79cd\u65b9\u5f0f
/**
* JSONObject\u662fMap\u63a5\u53e3\u7684\u4e00\u4e2a\u5b9e\u73b0\u7c7b
*/
Map mapObj = JSONObject.parseObject(str,Map.class);
System.out.println("\u8fd9\u4e2a\u662f\u7528JSONObject\u7684parseObject\u65b9\u6cd5\u5e76\u6267\u884c\u8fd4\u56de\u7c7b\u578b\u6765\u89e3\u6790JSON\u5b57\u7b26\u4e32!!!");
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);
}
}

将一个String 形式的json转化成Map的Java程序如下:

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import org.json.JSONObject;

public class FFF {

 public static void main(String[] args) {

  String s="{\"a\":\"1\",\"b\":2,\"c\":\"2016-5\"}";

  JSONObject jso=new JSONObject(s);

  Map<String,Object> m=new HashMap<String,Object>();

  Iterator it = jso.keys();  

  while (it.hasNext()) {  

   String key = (String) it.next();  

   Object value = jso.get(key);  

   m.put(key, value);

  }

  System.out.println(m.toString());

 }

}

运行结果:

{a=1, b=2, c=2016-5}



hashmap是以键值对(key-value)的格式保存对象的容器, 数组是按顺序一个一个保存对象的容器 你把hashmap转换成数组是想把key转成数组呢还是把value转成数组呢或者key和value组合成的对象转换成数组呢.我把key和value的分别写出来,组合对象的同理...

扩展阅读:javascript ... string在java ... java中append ... java char转string ... java中stringbuilder ... java将string转成map ... java tostring ... java 解析string xml ... java list 转string ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网