jsonmapjava
① java中将map转成json时,如何将map中的整型数字在转成json后,变成字符串,而不是整型。
好像没有什么特别的办法,可能是我才疏学浅,
我知道的两种方式:
map是键值对存在,那么类型都是固定的,我们可以再申请个map<String ,String>遍历替换原来的map再转换成json字符串
字符串替换,用正则添加双引号:
publicvoidtestJson(){
Map<String,Integer>map=newHashMap<String,Integer>();
map.put("aaa",111);
Stringjson=JSON.toJSONString(map);
Stringjson1=json.replaceAll(":",":"");
json1=json1.replaceAll("}",""}");
System.out.println(json);
System.out.println(json1);
}
② JAVA中json字符串如何转化为map对象获取数据
我们需要先把json字符串转化为net.sf.json.JSONObject对象,java中这样就可以完成json字符串到Map的转换了。
③ Java 用Map好还是用JSONObject好
如果只用一次,那么map接收能达到使用条件即可,如果是已有相应实体,可以用JSONObject,方便对数据做处理
④ java怎么把map转换为json
String jsons=“{‘a’:'1','b':'2'}”;
Map<String, Object> jsonmap=new HashMap<String, Object>();
jsonmap=json.setterObject(jsons, json.setMapType(HashMap.class, String.class, Object.class));///json转map
ObjectMapper mapper = new ObjectMapper();
Object dataparamtemp=jsonmap.get("dataparam");
String dataparam=mapper.writeValueAsString(dataparamtemp);//Map转json
需要
jackson的支持。
当然,这里只是我截取我使用的一点例子,这个需要jar包的支持,我建议你直接搜索:
Java jackson map与json相互转化,而且也可以是bean转json list转json都是可以的。
⑤ java将 json数组转map
首先你的[{"key":"1"},{"key":"2"}] 是个 json 数组格式
如果是简单的json 格式, 比如"{"key1":"1","key2":"2"}"
那么你可以使用 下面的示例:
publicstaticvoidmain(String[]args){
StringjsonString="{"key1":"1","key2":"2"}";
//Stringstr="[{"key1":"1"},{"key2":"2"}]";
Map<String,Object>map=toMap(jsonString);
for(Map.Entry<String,Object>entry:map.entrySet()){
Stringkey=entry.getKey();
Objectvalue=entry.getValue();
System.out.println(key+":"+value);
}
}
@SuppressWarnings("unchecked")
publicstatic<T>Map<String,T>toMap(Stringjson){
Map<String,T>map=newHashMap<String,T>();
JSONObjectjsonObject=JSONObject.fromObject(json,newJsonConfig());
Iterator<String>keys=jsonObject.keys();
while(keys.hasNext()){
Stringkey=keys.next();
Objectvalue=jsonObject.get(key);
map.put(key,(T)value);
}
returnmap;
}
执行结果:
你这种数组格式, 转成 map 那么 同名的key 会覆盖的....
⑥ java怎么将json文件读取进来并转成map
java中解析json文件,需要下载json解析包,用JSONUtil.deserialize()就可以了,范例:
importorg.apache.struts2.json.JSONUtil;
publicclassJsonToJava{
publicstaticvoidmain(String[]args){
try{
Strings=JSONObject.toString();
Objecto=JSONUtil.deserialize(s);
Objecto1=((HashMap)o).get("DATA");//此举将DATA作为对象,得到。
Mapmap=(Map)o1;//然后强转o1
}catch(Exceptione){
e.printStackTrace(System.out);
}
}
}
⑦ java在后台如何将前台传过来的json格式数据转换为map
importcom.alibaba.fastjson.JSON;
importcom.alibaba.fastjson.JSONObject;
importjava.util.Map;
/**
*JSON字符串自动转换
*Createdbyzknon2016/8/22.
*/
publicclassJsonToMapTest01{
publicstaticvoidmain(String[]args){
Stringstr="{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"}";
//第一种方式
Mapmaps=(Map)JSON.parse(str);
System.out.println("这个是用JSON类来解析JSON字符串!!!");
for(Objectmap:maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第二种方式
MapmapTypes=JSON.parseObject(str);
System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");
for(Objectobj:mapTypes.keySet()){
System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
}
//第三种方式
MapmapType=JSON.parseObject(str,Map.class);
System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
for(Objectobj:mapType.keySet()){
System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
}
//第四种方式
/**
*JSONObject是Map接口的一个实现类
*/
Mapjson=(Map)JSONObject.parse(str);
System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第五种方式
/**
*JSONObject是Map接口的一个实现类
*/
JSONObjectjsonObject=JSONObject.parseObject(str);
System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第六种方式
/**
*JSONObject是Map接口的一个实现类
*/
MapmapObj=JSONObject.parseObject(str,Map.class);
System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
StringstrArr="{{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"},"+
"{"00":"zhangsan","11":"lisi","22":"wangwu","33":"maliu"}}";
//JSONArray.parse()
System.out.println(json);
}
}
⑧ map类型和json类型一样吗,有什么区别
一、数据格式不同
1、map类型:可以使用匿名对象找到一个key对应的value。
2、json类型:是一种轻量级的数据交换格式。
二、数据处理方式不同
1、map类型:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
2、json类型:基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
三、特点不同
1、map类型:提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。
2、json类型:洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
⑨ java map 与 json 需要转换吗
1、jar包导入
①如果你是maven工程,添加下面依赖: