当前位置: 首页 > 编程笔记 >

Java Json和Map互转代码和在线工具

安建木
2023-05-05

1.Json转Map

/**
     * @Author:wangh
     * @Description:json串解析存至map
     * @Date:
     */
    public static Map<String, Object> JsonToMap(String jsonStr){    
        Map<String, Object> map = new HashMap<String, Object>();    
        JSONObject json = JSONObject.fromObject(jsonStr);    
        for(Object k : json.keySet()){    
            Object v = json.get(k);     
            if(v instanceof JSONArray){    
                List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();    
                Iterator<JSONObject> it = ((JSONArray)v).iterator();    
                while(it.hasNext()){    
                    JSONObject json2 = it.next();    
                    list.add(JsonToMap(json2.toString()));    
                }    
                map.put(k.toString(), list);    
            } else {    
                map.put(k.toString(), v);
            }
        }
        return map;
    }


2.Map转Json

        Map<String, TemplateData> param = new HashMap<String, TemplateData>();
        param.put("first",new TemplateData("你好,你有新的挪车通知!","#696969"));
        param.put("keyword1",new TemplateData("测试信息","#696969"));
        param.put("keyword2",new TemplateData("10.07","#696969"));
        param.put("keyword3",new TemplateData("2018-10-10","#696969"));
        param.put("remark",new TemplateData("我在这儿等着你回来 等着你回来把那车挪开","#696969"));
        // net.sf.json.JSONObject 将Map转换为JSON方法
        JSONObject json = JSONObject.fromObject(param);
        System.out.println(json);
         
        // org.json.JSONObject 将Map转换为JSON方法
        /*JSONObject json =new JSONObject(param);*/


 以上是代码的实现方式,也可以用第三方工具包实现,如果只是临时处理一下,可以使用本站的在线工具,xml和json互转工具:https://www.xnip.cn/tools/x2js/

 类似资料:
  • 我有一个简单的流如下: 但Intellij建议我: “filter()”和“map()”可以互换。检查信息:报告流API调用链可以简化。它允许在遍历集合时避免创建冗余的临时对象。例如 collection.stream()→collection.for每个() collection.stream()。 Intellij给出的例子很容易理解,但我不明白为什么它建议我使用。 我查看了的来源,但没有找到

  • 我试图理解如果下面是线程安全的,它是由另一个开发人员编写的代码,我已经继承和不再与我们在一起。 我有一个BaseProvider类,它实际上是一个消息缓存,由LinkedBlockingQueue表示。该类将传入的消息存储在队列中。 我有一组读此队列的辅助线程。因此,LinkedBlockingQueue是线程安全的。 正如您所注意到的,每个辅助线程都可以访问所有的提供者,所以当一个辅助线程遍历所

  • 我正在编写一个 C# 应用程序来解码此字符串: "--W 3原文3 R hcn Rfd Gl tZ SI 6 I jAi L CJ w cm 9 k dW N 0 X 2 lk I jo iO D Q wM DMz MD气LC J 1 cm wi O iI if Sx 7 InN 0 Y XJ 0 X 3 Rp b WU iO iI 3 OS In by b 2 R 1 Y 3 Rfa WQ iO

  • 问题内容: 什么是最好的在线代码美化器和格式化器?我不是在要求荧光笔。任何语言都可以。 问题答案: CSS:代码美化器 HTML:HTML Tidy,CleanUp HTML或通用的Pretty Diff Javascript:http://jsbeautifier.org/ PHP:http://beta.phpformatter.com/ SQL:http://dpriver.com/pp/s

  • 可能聪明的你已经发现了魔方矩阵各行或列数字相加后的奇妙属性,无论是各行相加,还是各列相加,还是两条对角线的数字相加,都得到同一个结果。下面让我们用MATLAB来证实这一结论。首先试着输入 sum(A) MATLAB显示 ans = 34 34 34 34 如果你没有指定变量,MATLAB就会用变量ans(answer的缩写),来储存计算的结果。这里显示的是一个行

  •        单击要编辑的对象确保选中对象,再次单击该线/面要素,则转换成面/线要素,并以双击结束编辑。如果勾选新建转换,则自动生成一个新的要素且保留原要素。