最近调用第三方接口,传值的时候有这样的需求,key不能带双引号,value带有双引号的JSON数据传参 找了这个方法可以使用
JSONObject.fromObject(map)方法需要导入的依赖
import net.sf.json.JSONObject;
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier><!-- 指定jdk版本 -->
</dependency>
案例演示:
//数据组装
Map<String, Object> map = new HashMap<>();
map.put("1","1111");
map.put("2","2222");
map.put("3","3333");
String json = JSONObject.fromObject(map).toString();
json = json.replaceAll("\"(\\w+)\"(\\s*:\\s*)","$1$2");
System.out.println(json.toString());//
打印输出:
{1:"1111",2:"2222",3:"3333"}