问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java在后台如何将前台传过来的json格式数据转换为map?

发布网友 发布时间:2022-04-28 22:57

我来回答

15个回答

热心网友 时间:2022-04-24 08:46

热心网友 时间: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再取值吗?还是有什么别的需求?如果是想根据键取值可以这样取值
//转换为json键值对象
JSONObject jsonObject = new JSONObject().fromObject(result);
//根据json的键获得对应的值
String value= jsonObject.getString(key);

希望能帮到您。追问谢谢!!
如果要转成map,那应该怎么做呢?
还有,我从前台传回来的值有中文,到后台就变成乱码了,但是我后台里也有写
request.setCharacterEncoding("UTF-8");
为什么还是乱码呢?

追答把提交数据方式改为post方式,前台跟后台编码一致就不会出问题!至于json怎么转map我在网上试了很多方法都失败了,你可以研究研究。

热心网友 时间:2022-04-24 13:30

JSON数据,在后台接收到时,以JSONObject为例;
JSONObject js_obj = JSONObject.parse(接收到前台传递JSON的字符串);
转换为json对象,map 我们都清楚,其实是以键队的形式存储的,
所以,我们在已知json属性的前提下将js_obj对象值取出,赋值给新的map对象即可。

热心网友 时间:2022-04-24 15:38

搞不定你现在是JSON还为什么要转成MAP 你在这里不就可以直接获取数据了吗

如:
function(data){//data是你的{"a":0,"b":1,"c":1,"d":1}
这里直接data.a就可以获取0了 data.b就可以获取1了
}

热心网友 时间:2022-04-24 18:03

1.示例如下
public static void main(String[] args) {
        
        String detail="{\"result\":0,\"msg\":\"成功\",\"info\":{\"saleUnit\":\"\",\"weight\":\"0.04\"}}";     
        JSONObject json=new JSONObject(detail);
        Map<String,Object> map=new HashMap<String, Object>();
        Iterator it = json.keys();
        while (it.hasNext()) {  
           String key = (String) it.next();  
           Object value = json.get(key);  
           map.put(key, value);
        }
        System.out.println(map.get("info"));
    }

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.*;
import net.sf.json.JSONObject; 
public class Json2Map{
 public static void main(String argv[]){
  String s="{\"a\":0,\"b\":1,\"c\":1,\"d\":1}";
  JSONObject jsonObject = JSONObject.fromObject(s);  
  
  Map<String, Class<?>> clazzMap = new HashMap<String, Class<?>>();  
        clazzMap.put("result", Integer.class);  
  
        // clazzMap.put("result", String[].class);  
        // clazzMap.put("Student1", Student.class);  
        // clazzMap.put("Student2", Student.class); 
        Map<String, ?> mapBean = (Map) JSONObject.toBean(jsonObject, Map.class,clazzMap);  
  
        Set<String> set = mapBean.keySet();  
        //遍历Json数据  
        Iterator<String> iter = set.iterator();  
        while (iter.hasNext()) {  
            String key = iter.next();  
            System.out.print(key + " _> " + mapBean.get(key).toString()+"\t");  
        }  
  
 }
}

热心网友 时间:2022-04-24 23:42

代码大概是这样的吧,我手写的,你可以看看思路:

JSONObject jo = new JSONObject(jsonStr);
Map map = new HashMap<String, String>();
map.put("a", jo.get("a"));
map.put("b", jo.get("b"));
......

可能有错的地方

热心网友 时间: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>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
public static void main(String[] args) {

String detail="{\"result\":0,\"msg\":\"成功\",\"info\":{\"saleUnit\":\"\",\"weight\":\"0.04\"}}";
JSONObject json=new JSONObject(detail);
Map<String,Object> map=new HashMap<String, Object>();
Iterator it = json.keys();
while (it.hasNext()) {
String key = (String) it.next();
Object value = json.get(key);
map.put(key, value);
}
System.out.println(map.get("info"));
}

热心网友 时间: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}";
Map maps = (Map)JSON.parse(str);

热心网友 时间:2022-04-26 04:15

用一些简单的开源JSON包(比如fastjson,jackson)都可以轻松解决
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
卡耐基的智慧大全集内容简介 会说话赢天下内容简介 卡耐基演讲与口才内容简介 商务口才训练内容简介 卡耐基金牌口才作者简介 卡耐基商务口才 作者简介 爱因斯坦的更多故事 杨柯叶谨言是什么电视 房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 JAVA中json字符串如何转化为map对象获取数据? JAVA中json字符串如何转化为map对象,获取数据? 安卓5.1怎么显示悬浮窗,桌面歌词等等。 安卓八门神器如何设置悬浮窗?已root 有人认识这个安卓手机上出现的悬浮窗吗?这个悬浮窗是应用推荐悬浮窗,关闭不了,也找不到是什么软件携带 红警3需要什么配置才能玩 荣耀八怎么设置悬浮窗啊 华为那种悬浮窗式的分屏是只有几款新机型才行吗? 白板笔油弄到衣服上怎么洗 农行信用卡送的永辉超市购物卡该怎么使用呢? 怎么可以把衣服上的白板笔字迹洗掉? 支付宝的永辉会员电子卡怎么用 朋友送的永辉电子购物卡如何使用 求陈情令所有歌曲,拜托了 Google输入法如何输入中圆点? 求无羁周笔畅版本。谢谢。 键盘上的点怎么打 求陈情令的所有歌曲,谢谢 肖战和王一博都在晚会现场,却由周笔畅来唱《无羁》,这是为何? word中怎么打圆点样子句号 java将 json数组转map 年度考核不确定等次就是为不合格吗 年度考核不定等次后果 java如何将json的数据转换为map或者list类型的? java将 json数组转map,例[{&quot;key&quot;:&quot;1&quot;},{&quot;key1&quot;:&quot;2&quot;}]转换成一个map java json字符串转换Map 钉钉怎么让另一个设备退掉 年度考核不合格的依据是什么 java jsonp怎么转换成map java String转json,String转Map,Json转Map 如何将返回的JSon字符串用MAP格式读取 java中从服务器上获取的json字符串,怎么存map&lt;integer object&gt;中 excel冻结窗格 能否同时冻结表头和表尾,只让中间的数据区滚动。 java怎么把map转换为json 公务员试用期考核不定等次究竟怎么算? Java 将一个String 形式的json转化成Map,比如&quot;{\&quot;a\&quot;:\&quot;1\&quot;,\&quot;b\... 提取JSON中的DATA转成Map。求Java实现代码 公务员年度考核,不确定等次是基本称职以下等次,还是指什么? 求84梁朝伟版鹿鼎记的演员表 java 怎么把map转为json