当前位置: 首页 > 知识库问答 >
问题:

用Gson操作JSON[重复]

于正志
2023-03-14
    {
  "eventID": 1,
  "title": "one",
  "timeCreated": "Sep 23, 2007, 10:10:00 AM",
  "timeModified": "Sep 23, 2007, 10:10:00 AM",
  "timeStart": "Nov 11, 2999, 11:11:00 AM",
  "timeEnd": "Nov 11, 3999, 11:11:00 AM",
  "alarmOn": true,
  "content": ""
}
Gson gson = new Gson();
Type myDataType = new TypeToken<Collection<Event>>() {
}.getType();
Collection<Event> myData = gson.fromJson("awesome.json", myDataType);
for (Event e : myData) {
    System.out.println("value= " + e.getTitle());
}

如何正确地将json读回java类,应用一些更改,然后再次将其写回json?

共有1个答案

燕禄
2023-03-14

让我们看看错误代码

线程“main”com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY但在第1行第1列路径$处为STRING

因此,库似乎需要一个JSON数组,但您给它一个字符串。

 类似资料:
  • 我有以下问题。我有一个Writer类,它通过GSON将我创建的所有对象写入JSON文件。输出如下所示: eventID是一个序列化的整数,每次创建新的obj时都使用AtomicInteger创建。 线程“main”com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY但在第1行第1列路径$

  • 我浏览了所有关于堆栈溢出的问题和各种文章,但似乎没有一篇能解决我的问题。请帮忙 这是我的json 使用者Java语言 文章Java语言 适配器 主要活动 我一直得到预期的BEGIN\u数组,但在第1行第2列路径$处是BEGIN\u对象。我甚至尝试将文章转换为适配器中的列表,但它不起作用。任何帮助都将不胜感激。

  • 编码和解码简单数据类型 # json_simple_types.py import json data = [{'a': 'A', 'b': (2, 4), 'c': 3.0}] print('DATA:', repr(data)) data_string = json.dumps(data) print('JSON:', data_string) # json_simple_types_d

  • 我的想法是,我有一个特定的操作序列,我想应用于其他操作之间的几个流。流之间的其他操作不相同。 例如,对于每个流,我要更改字符串的大小写,修剪它,将空字符串清空,然后过滤掉空字符串,最后,消除重复,如下所示: 在这两种情况下,我都执行以下操作序列: 我当前复制了该链并将其放在多个流的其他操作之间: 有没有一个好的方法来避免重写那段代码呢?很明显,这两个map()操作是可能的,但是这种操作组合有什么办

  • 我有基于csv数据源的jrxml文件。csv文件中只有一列包含json字符串。 考虑以下示例: 请注意,CaseID始终存在,但不能保证TAG_AND_VALUES的顺序,因为可以动态添加或增长TAG_AND_VALUE。 我想从每个TAG_AND_VALUES中读取每个caseID的值。