java - 创建一个没有 key 的 JSON

标签 java json gson

我们想在 Java 中创建如下所示的 JSON 结构

{
 [
  { 
   "key": "ABC001",
   "value": true 
  },
  { 
   "key": "ABD12",
   "value": false 
  },
  { 
   "key": "ABC002",
   "value": true 
  },
 ]
}

为了实现这一点,我们创建了一个类并在其中包含一个列表私有(private)属性。 但这是创建一个键 values

class Response{
private List<Property> values;
 // setter getter for this private property
}

这个的输出是

{
values : [
{
"key": "ABC001",
"value": true
},
......
]

有没有办法在 { } 中创建没有键的数组?

最佳答案

不幸的是,您尝试构建的不是有效的 json。 你可以尝试验证一下here .

例如,对于这个“json”,就不可能读取数组,因为它没有键。

{
"foo_key" : "bar",
 [
  { 
   "key": "ABC001",
   "value": true 
  },
  { 
   "key": "ABD12",
   "value": false 
  },
  { 
   "key": "ABC002",
   "value": true 
  },
 ]
}

像这样解析一个 json,你可以得到“bar”,因为它有一个键(“foo_key”),但是你怎么能得到数组呢?

您使用的代码对于有效的 json 来说已经是正确的。

关于java - 创建一个没有 key 的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44318500/

相关文章:

java - 将 JsonArray 转换为 ArrayList

java - 当事先不知道 key 时使用 gson 反序列化 JSON 对象

java - 无法在ubuntu 12.04上执行java

java - 不需要的自动填充

java - 通过 java 反射检索静态声明的函数接口(interface)中使用的静态参数值

java - 为什么 HashMap 继承了 AbstractMap 还要实现 Map?

ios - 在 iOS 中解析 JSON 时遇到一些错误?

java - 带有 json/xml 响应的嵌入式 jetty

java - 将json字符串转换为java对象?

android - Gson 在单个 JSON 对象中使用两种列表类型进行序列化