【问题标题】:Gson remove header from JsonGson 从 Json 中删除标头
【发布时间】:2019-02-22 19:12:41
【问题描述】:

我有一个使用 Gson 创建的 Json

val gson = new Gson
val jsonString = gson.toJson(mydata).
println(jsonString)

这是输出

  {"mydata":{"date":["2008-06-04T22:47:36Z"],
  "pdf:PDFVersion":["1.6"],
  "pdf:docinfo:title":[" PDF Test Page"],
  "xmp:CreatorTool":["Acrobat PDFMaker 7.0.7 for Word"],
  "Company":["Government of Yukon"],
  "access_permission:modify_annotations":["false"],
  "access_permission:can_print_degraded":["true"],
  "dc:creator":["Yukon","Canada","Yukon Department of Education"],
  "language":["EN-US"],
  "dcterms:created":["2008-06-04T22:44:00Z"],
  "Last-Modified":["2008-06-04T22:47:36Z"],
  "dcterms:modified":["2008-06-04T22:47:36Z"],
  "dc:format":["application/pdf; version\u003d1.6"],
  "title":[" PDF Test Page"],
   }
   }

期望的输出

  {"date":["2008-06-04T22:47:36Z"],
  "pdf:PDFVersion":["1.6"],
  "pdf:docinfo:title":[" PDF Test Page"],
  "xmp:CreatorTool":["Acrobat PDFMaker 7.0.7 for Word"],
  "Company":["Government of Yukon"],
  "access_permission:modify_annotations":["false"],
  "access_permission:can_print_degraded":["true"],
  "dc:creator":["Yukon","Canada","Yukon Department of Education"],
  "language":["EN-US"],
  "dcterms:created":["2008-06-04T22:44:00Z"],
  "Last-Modified":["2008-06-04T22:47:36Z"],
  "dcterms:modified":["2008-06-04T22:47:36Z"],
  "dc:format":["application/pdf; version\u003d1.6"],
  "title":[" PDF Test Page"],
   }

我想知道如何从上述 json 中删除页眉 ({"mydata":) 和页脚 (}),以便我可以用来向 Solr 添加记录

【问题讨论】:

    标签: json scala solr gson


    【解决方案1】:

    包装器mydata 可以使用 Gson 的 API 删除,方法是将初始对象转换为 JSON 树(而不是问题中尝试的字符串),然后将 mydata 节点的内容转换为 JSON 字符串。这很容易:

    val jsonTree = gson.toJsonTree(mydata)
    val mydataNode = jsonTree.getAsJsonObject().getAsJsonObject("mydata")
    val jsonString = gson.toJson(mydataNode) // jsonString contains the desired output
    

    附:原json中"title":[" PDF Test Page"],后面的逗号,要去掉,否则无效。

    【讨论】:

      猜你喜欢
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多