添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

问题的场景

从json文件中读取数据然后进行增加字段并且排序后,重新写入json文件,发现原本的数据中出现“\"”。

{"domain":{"mty":"\"hhy\"","mt":"hh"},"weight":{"mty":70,"mt":30}}

在解析含有字符串的数据时候通过

JsonObject jsonObject1 = (JsonObject) new JsonParser().parse(json); 的方式去解析的时候所有的带有字符串的 value值都会自动再加上一层双引号。

所以再次写入的时候才会出现转义过的双引号

解决方法:

(1)如果没有解析出来的数据是按照原本固定的顺序排列的要求的话可以选择fastjson进行解析,不会带上双引号,亲测可行。

(2)如果必须固定位置的使用 LinkedHashMap进行存取,使用gson解析出来的数据就是原来的顺序,然后针对双引号的问题,我是在最终把数据转载到 LinkedHashMap的时候使用replace

domainMap.put(map.getKey(), map.getValue().toString().replace("\"",""));去掉了其中的一个双引号。
运行之后的结果如下:

{"domain":{"mt":"hh","mty":"hhy"},"weight":{"mt":70,"mty":30}}

这个问题我也不太好描述,如果有遇到同样问题的朋友们希望能帮助到你。语言组织不太好

1、获取 json 字符串, gson .to Json (entity); 2、通过from Json 方法 json 字符串 json Str转换为type类型, gson .from Json ( json Str,type); 在此过程中, gson .to Json (entity)获取到的 json 字符串如下:"{"name":"张三","age":17}",再转map 结果就成了"nam... JSON 的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的 解决 方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。 JSON 采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 JSON 对象: JSON 中对象(Object)以”{“开始, 以”}”结束. 对象中的每一个item都是一个key- value 对, 表现为”key: value ”的形式, key- value 对之间使用逗号分隔. 如:{“name”:”coolxing”, “age”=24, “male”:true, “address”: 工作中遇到的问题 解决 方案(仅供自己参考)后端接收到类似:" "1111" "这样 两个 双引号 的数据,可以用 Gson 去除掉一对 双引号 或者alibaba的fast Json 也可以实现同样的效果 1.利用 gson json 类型的String串 解析 为对应的对象      channelSearchEnum cse = gson .from Json ( obj , channelSearchEnum.class);  2.将 json array类型的String串 解析 成对象 方法 Gson gson = new Gson (); Json Parser parser = ne 文章目录0.前言0.1 解决 方法 1. gson 的使用1.1对象转 json 1.2 json 转对象1.3属性重命名 @SerializedName 注解的使用1.4 json 序列化成map2. Gson 的配置 遇到一个场景使用g json 解析 固定 模板 json 串变成TreeMap时 value 出现 两个 双引号 0.1 解决 方法 如果直接用 Json Object.toSring或者jo.get(“name”).toString的话,取出的 会有 双引号 ,直接getAsString就没有 双引号 啦 1. gson 的使用 在使用fast json 解析 json 时,有时会遇到 json 串中包含英文中的 双引号 ,比如在评论中包含 双引号 的评论。如下所示 json 串:{"returncode":0,"message":"","result":{"pageindex":1,"pagecount":1,"rowcount":15,"list":[{"topicid":21376821,"topictype":"","title":"A4油 {"fssj":"20170717145154","person1":"管理员","person2":"销售经理22","rybm_fsr":1,"rybm_jsr":3,"xtxxbm":125,"xxbt":"ddd","xxnr":"dddddd /strong>dadadaddddd decoration: underline;">ddfff","zt":"0"} 开发中,有时候后台返回的 json 格式键 名是不 固定 的,如{ "red" : "1", "yellow" : "1" } , 可能只有red、yellow这 两个 名,也可能有好几个. 解决 方式 这种情况下,我们可以声明为Map<String,String>,然后 Gson 就可以 解析 了。 Map的存储结构式Key/ Value 形式,Key 和 Value 可以是普通类型,也可以是自己写的JavaBean(上一篇博客),还可以是带有泛型的List(本文).本例中您要重点看如何将 Json 转回为带泛型的对象List,并且List中的泛型对象有多种实体.