已关闭。此问题需要更多的focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。
去年关闭了。
Improve this question
我有一个JSON文件,其中包含很多对象,不是列表,而是一个在另一个下面,如:
{
"attr1": "value1",
"attr2": "value2",
"attr3": "value3",
}
{
"attr1": "value1",
"attr2": "value2",
"attr3": "value3"
}
{
"attr1": "value1",
"attr2": "value2",
"attr3": "value3",
}
...
如何获得这些对象的列表(包含attr1
、attr2
、attr3
的A
类)?
3条答案
按热度按时间wfsdck301#
Gson支持所谓的“宽松”模式,该模式支持格式错误的JSON文档(包括奇怪的JSON标记和“多合一”JSON文档,就像您在问题中提到的那样)。这也使Gson能够检测JSON文档结束标记,以区分多个值。
一般而言,通用算法如下:
这是一种特别的方法,您可以在幕后使用不同的机制使其更通用:
阅读列表
使用使用者阅读
作为迭代器阅读
作为流阅读
chy5wohz2#
Gson
是一个执行此操作的库。您可以这样使用它:可以使用
Readers
输入数据或其他类型的对象。ki0zmccv3#
JSON文件中包含的第一个数据没有结构,因此无法直接转换为Java对象。您需要修改JSON字符串,使其成为一个列表。然后,您可以使用以下命令来检索对象列表。
之后,您可以使用instanceOf将Object转换为它们各自的类。