发布网友 发布时间:2022-04-28 22:57
共15个回答
热心网友 时间:2022-04-24 08:46
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);
}
}
热心网友 时间:2022-04-24 10:04
你找一个解析json的包,Gson 或者 fastjson ,把你收到的那个字符串 转换为 JsonObject对象,然后你用Map的操作方式来操作JsonObject就行了。顺便说下,json的格式比较复杂,它比Map的格式要复杂些,所以,你不可能把json完全转换为Map,如果格式是按你说的{"a":0,"b":1,"c":1,"d":1} 格式是固定的话,那你自己把JsonObject转换成Map就可以了热心网友 时间:2022-04-24 11:39
你是想转换成map再取值吗?还是有什么别的需求?如果是想根据键取值可以这样取值追答把提交数据方式改为post方式,前台跟后台编码一致就不会出问题!至于json怎么转map我在网上试了很多方法都失败了,你可以研究研究。
热心网友 时间:2022-04-24 13:30
JSON数据,在后台接收到时,以JSONObject为例;热心网友 时间:2022-04-24 15:38
搞不定你现在是JSON还为什么要转成MAP 你在这里不就可以直接获取数据了吗热心网友 时间:2022-04-24 18:03
1.示例如下2.如何是maven项目的在pom.xml加入
dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
依赖.如不是自行下载jar包
热心网友 时间:2022-04-24 20:44
import java.util.*;
热心网友 时间:2022-04-24 23:42
代码大概是这样的吧,我手写的,你可以看看思路:
JSONObject jo = new JSONObject(jsonStr);可能有错的地方
热心网友 时间:2022-04-25 02:57
先用json相关的jar,把json格式的字符串转换成JSON对象
将JSON对象转换成Map对象,这个看下API有什么方法都可以猜的出来了
热心网友 时间:2022-04-25 06:28
用SpringMVC的话直接在controller里面的方法里面使用Map<String,Integer>即可热心网友 时间:2022-04-25 10:16
<dependency>热心网友 时间:2022-04-25 14:21
hashmap是以键值对(key-value)的格式保存对象的容器, 数组是按顺序一个一个保存对象的容器 你把hashmap转换成数组是想把key转成数组呢还是把value转成数组呢或者key和value组合成的对象转换成数组呢.我把key和value的分别写出来,组合对象的同理...热心网友 时间:2022-04-25 18:42
Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);热心网友 时间:2022-04-25 23:20
String str = "{"a":0,"b":1,"c":1,"d":1}";热心网友 时间:2022-04-26 04:15
用一些简单的开源JSON包(比如fastjson,jackson)都可以轻松解决