方法一:要先转为LinkedHashMap,再转json(推荐,我使用这种方法)
String jsonStr="{\"id\":\"10001\",\"name\":\"肉类\",\"menus\":[{\"name\":\"牛肉\",\"price\":\"30.00\"},{\"name\":\"羊肉\",\"price\":\"20.00\"}]}";
System.out.println("原始的JSON字符串:"+jsonStr);
//要先转为LinkedHashMap,再转json
LinkedHashMap json = JSON.parseObject(jsonStr,LinkedHashMap.class, Feature.OrderedField);
JSONObject jsonObject=new JSONObject(true);
jsonObject.putAll(json);
System.out.println("转化后的JSON对象(保留原有的字符串顺序):"+jsonObject);
结果:
方法二:直接使用JSONObject.parseObject()函数(不推荐,打乱原始字符串的顺序)
String jsonStr="{\"id\":\"10001\",\"name\":\"肉类\",\"menus\":[{\"name\":\"牛肉\",\"price\":\"30.00\"},{\"name\":\"羊肉\",\"price\":\"20.00\"}]}";
System.out.println("原始的JSON字符串:"+jsonStr);
JSONObject jsonObject1 = JSONObject.parseObject(jsonStr);
System.out.println("转化后的JSON对象(打乱原有的字符串顺序):"+jsonObject1);
结果:
参考:Java 中常用的JSONobject的用法详解_java jsonobject-CSDN博客
Java Object转JSONObject,ArrayList,取值_五宝茶四娃的博客-CSDN博客