仅支持 map<string,object> 格式,map里面可以放map,list,list等(如果是实体类需要提前转成map)

import java.util.List;
import java.util.Map;/*** @Author yv* @Description map 转 json格式string字符串* @Date 2021/9/29 8:58*/
public class MapToJson {public static String mapTojsonString(Map<String, Object> map) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("{");if (map != null && map.size() > 0) {for (String key : map.keySet()) {if (!stringBuilder.toString().endsWith("{")) stringBuilder.append(",");String value = mapTojsonString(map.get(key));stringBuilder.append("\"").append(key).append("\"").append(":").append(value);}}stringBuilder.append("}");return stringBuilder.toString();}static String mapTojsonString(Object obj) {if (obj instanceof String) return "\"" + obj.toString() + "\"";if (obj instanceof Map) return mapTojsonString((Map) obj);if (obj instanceof List) return listToString((List<Object>) obj);if (obj == null) return null;return obj.toString();}static String listToString(List<Object> list) {StringBuilder builder = new StringBuilder();builder.append("[");if (list != null && list.size() > 0) {for (Object obj : list) {if (!builder.toString().endsWith("[")) builder.append(",");builder.append(mapTojsonString(obj));}}builder.append("]");return builder.toString();}
}

代码演示

    public static void main(String[] args) {//主表数据Map<String, Object> map = new HashMap<>();map.put("number", "ss");map.put("title", "ss");map.put("remark", "ss");//明细表数据List<Map<String, String>> list = new ArrayList<>();Map<String, String> map1 = new HashMap<>();map1.put("content", "添加");map1.put("detail", "添加");list.add(map1);map1 = new HashMap<>();map1.put("content", null);map1.put("detail", "添加");list.add(map1);map.put("list", list);System.out.println(mapTojsonString(map));}

运行结果

{"number":"ss","remark":"ss","title":"ss","list":[{"detail":"添加","content":"添加"},{"detail":"添加","content":null}]}

map 转 json格式string字符串相关推荐

  1. Java中json格式的字符串数组,list,json,map相互转换

    日常开发中免不了和json格式的字符串数组,list,json,map打交道,因此这篇文章的着重点就是这四者的相互转换 1.json格式的字符串数组转list String json = " ...

  2. 原来JAVA对象转JSON格式的字符串如此简单,返回来暂时不会做,留下纪念下

    package info.moogens.mvc.tools.json;import java.lang.reflect.Array; import java.lang.reflect.Field; ...

  3. C# JSON格式的字符串读取到类中

    2019独角兽企业重金招聘Python工程师标准>>> 将JSON格式的字符串读取到类中 本例中建立JSON格式的字符串json,将其内容读取到Person类中 运行本代码需要添加引 ...

  4. json格式的字符串转为json对象遇到特殊字符问题解决

    中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 1 ...

  5. [转]C# 将类的内容写成JSON格式的字符串

    将类的内容写入到JSON格式的字符串中 本例中建立了Person类,赋值后将类中内容写入到字符串中 运行本代码需要添加引用动态库Newtonsoft.Json 程序代码: using System; ...

  6. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  7. [转载] python判断是否为json_Python判断变量是否为Json格式的字符串示例

    参考链接: Python-Json 3 : python中验证是否为有效JSON数据 Python判断变量是否为Json格式的字符串示例 Json介绍 全名JavaScript Object Nota ...

  8. C#——对象转换为JSON格式的字符串

    问题来源 这几日正值伏天,我发现成都不是下大雨就是烈日炎炎的天气.七月上旬车子也坏掉了,去南门体育管健身房要走20来分钟,再回到研究院大楼又是20多分钟,一路上不是大雨就是烈日,还好锻炼后多巴胺让我持 ...

  9. javascript解析json格式的字符串,拼接后显示到表格中

    知识点 解析json格式的字符串 拼接的HTML设置到tbody当中 加载json格式的对象 结果演示 html代码 <!DOCTYPE html> <html><hea ...

  10. PHP json_decode 对 JSON 格式的字符串进行编码并获取对应的值

    关于PHP中对JSON 格式的字符串进行编码并解析,同时可使用正则来获取内容,看示例: 字符串: {"resp": {"userid": 0, "re ...

最新文章

  1. oracle-imp导入小错filesize设置
  2. python网络开发框架_greenev首页、文档和下载 - Python网络服务框架 - OSCHINA - 中文开源技术交流社区...
  3. 强大Jquery插件,table排序之二
  4. 网络:浏览器静态资源缓存机制
  5. hdu 2110 基础母函数
  6. python gif_python 将png图片格式转换生成gif动画
  7. c json保存整型数组,您如何存储“ int”? NSMutableArray *或NSMutableDictionary *中的值?整数形式的JSON数据的长期问题。...
  8. SpringBoot系列: CommandLineRunner接口的用处
  9. .NET Core版本揭秘
  10. @Scheduled定时任务不生效的原因
  11. NodeJs——(8)http.ServerRequest的过程
  12. dell mobile connect 兑换码_剑与远征万圣节兑换码是什么?剑与远征2020万圣节兑换码使用解析...
  13. 5G 是未来的唯一选择?| 畅言
  14. UVA280 LA5588 Vertex【DFS】
  15. nodejs后台系列--第四篇--koa(二)
  16. Go语言实战爬虫项目
  17. 实战 | 应急响应方法论思维导图
  18. NETAPP存储常用巡检命令
  19. RGMII以太网测试方案
  20. 支付网关-vertx

热门文章

  1. RHEL/Centos下VSFTPD服务器搭建
  2. 数据挖掘概念与技术(韩家伟)阅读笔记5--数据规范化和属性构造
  3. 编写高质量代码改善C#程序的157个建议——建议38:小心闭包中的陷阱
  4. twrp gui/actions.cpp 中的功能实现 tw_action ,tw_action_param ,第二章
  5. Android Sqite数据库 9
  6. QML Logical value dose not depend on actual values(M325)
  7. oracle中的job重要吗,关于Oracle的job的一些总结
  8. java程序如何提取数据库json格式_java解析json格式文件,再保存在数据库怎么做?...
  9. C语言--------学生管理系统(源代码)
  10. 线性代数及其应用(英文第四版)下载