我有一个大型JSON文件,看起来类似于下面的代码。无论如何我可以遍历每个对象,查找字段“element_type”(如果重要的话,它不存在于文件中的所有对象中)并将具有相同元素类型的每个对象提取或写入文件?例如,每个用户最终都会在名为user.json的文件中出现,而每本书都会出现在名为book.json的文件中?
我考虑过使用javascript,但据我所知js无法写入文件,我也尝试使用linux命令行工具删除所有新行,然后在每个“}”之后插入一个新行,然后遍历每一行以查找元素类型并将其写入文件。这适用于大多数数据;但是,如果下面有像“problem_type”这样的对象,由于“times”元素中嵌套的json,它会在数据中间插入一个新行。我现在已经没想完了。
{
"data": [
{
"element_type": "user",
"first": "John",
"last": "Doe"
},
{
"element_type": "user",
"first": "Lucy",
"last": "Ball"
},
{
"element_type": "book",
"name": "someBook",
"barcode": "111111"
},
{
"element_type": "book",
"name": "bookTwo",
"barcode": "111111"
},
{
"element_type": "problem_type",
"name": "problem object",
"times": "[{\"start\": \"1230\", \"end\": \"1345\", \"day\": \"T\"}, {\"start\": \"1230\", \"end\": \"1345\", \"day\": \"R\"}]"
}
]
}
答案 0 :(得分:0)
我会为此推荐Java。听起来你在Linux上运行它应该是一个很好的选择。
写入文件没有问题。您可以使用这样的库 - http://json-lib.sourceforge.net/ - 来访问JSONArray和JSONObject之类的东西。您可以轻松地使用它来迭代JSON请求中的数据,并检查“element_type”中的内容并相应地写入文件。