【问题标题】:How to Create JSON data with some complexity?如何创建具有一定复杂性的 JSON 数据?
【发布时间】:2012-04-28 14:38:03
【问题描述】:

我想创建如下格式的 json 数据:

{
   "Credential":{
      "ref1":"Test",
      "ref2":"test",
      "ref3":"test"
   },
   "ref4":"data"
}

我尝试了很多,但我没有找到方法来做到这一点。谁能帮帮我吗。 编辑:

我可以将数据如下所示:

   {
      "ref1":"Test",
      "ref2":"test",
      "ref3":"test"
   }

提前致谢。

【问题讨论】:

标签: android json


【解决方案1】:

您总是可以使用JSONStringer 类来这样做,

JSONStringer jsonstr  = new JSONStringer()
                           .object().key("Credential")
                                    .object().key("ref1").value("Test")
                                             .key("ref2").value("test")
                                             .key("ref3").value("test")
                                    .endObject()
                                    .key("ref4").value("data")
                           .endObject();
Log.i("JSONStringer", jsonstr.toString());

【讨论】:

  • 我在 Idea12 中遇到了类型不兼容的错误。它期待一个纵梁对象但找到一个作家......奇怪。
  • 能否请您向我展示您正在使用示例 JSON 字符串编写的代码,您尝试使用 pastebin.org @JimWharton 谢谢。
  • 即使我复制/粘贴上面的示例,它也会给我一个错误。我可以使用超类作为类型,它工作正常。 JSONWriter jsonstr = new JSONStringer();与其说是实际问题,不如说是一种奇怪的好奇心:i.imgur.com/tpTQitU.png
【解决方案2】:

你为什么不使用google gson

// get Json string
Gson gson = new Gson();
String strJson = gson.toJson(yourObject);

这不是更好的解决方案吗?

【讨论】:

  • 你的问题是什么?你的字符串是有效的。你想得到它的相关对象吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多