当前位置:首页 » 编程语言 » javajsontomap

javajsontomap

发布时间: 2023-07-28 12:05:20

java中将map转成json时,如何将map中的整型数字在转成json后,变成字符串,而不是整型。

好像没有什么特别的办法,可能是我才疏学浅,

我知道的两种方式:

  1. map是键值对存在,那么类型都是固定的,我们可以再申请个map<String ,String>遍历替换原来的map再转换成json字符串

  2. 字符串替换,用正则添加双引号:

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

  • 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);

  • }

  • }

③ 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对象获取数据

我们需要先把json字符串转化为net.sf.json.JSONObject对象,java中这样就可以完成json字符串到Map的转换了。

⑤ 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);
}
}
}
热点内容
ibook安卓怎么下 发布:2025-02-07 10:12:13 浏览:692
银行卡没有密码怎么办啊 发布:2025-02-07 10:08:13 浏览:30
游戏库源码 发布:2025-02-07 09:49:15 浏览:53
享宇钱包上传不了照片 发布:2025-02-07 09:48:32 浏览:632
模拟器怎么开安卓版本 发布:2025-02-07 09:42:35 浏览:771
c程序设计语言源码 发布:2025-02-07 09:22:41 浏览:623
数据库域的概念 发布:2025-02-07 09:22:40 浏览:640
电信路由器账号密码多少 发布:2025-02-07 09:22:01 浏览:671
我的世界怎么在别人服务器开光影 发布:2025-02-07 09:21:20 浏览:12
qq上传视频很慢怎么办 发布:2025-02-07 09:16:04 浏览:697