gpt4 book ai didi

java - Android 中的 JSONObject 导航

转载 作者:行者123 更新时间:2023-12-02 03:50:22 26 4
gpt4 key购买 nike

我正在尝试实现一种能够导航 JSONObject 直到找到给定参数的方法。我的 JSON 的结构类似于文件夹系统。有文件夹,每个文件夹都可以有文件。一个文件夹可以有另一个文件夹,依此类推。JSON 如下所示:

{
"Elements": [
{
"file": {
"files": [
{
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"modified": 1457608018166,
"name": "Bild1"
},
{
"id": "0efd76e7-730e-428a-96a4-95e04844070a",
"modified": 1457608018166,
"name": "Audio"
},
{
"files": [
{
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"modified": 1457608018166,
"name": "Bild2"
},
{
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"modified": 1457608018166,
"name": "Bild3"
},
{
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"modified": 1457608018166,
"name": "Bild4"
}
],
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"name": "FolderInRoot"
}
],
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"name": "RootFolder"
}
},
{
"file": {
"files": [],
"id": "562dd7a2-9268-46b2-8963-b7a3b43e906e",
"name": "AnotherRootFolder"
}
}
]
}

例如,我想编辑路径为“/RootFolder/FolderInRoot/Bild2”的“Bild2”。有人有一种导航到给定位置的方法。路径应该是参数。

最佳答案

您需要循环遍历 JSON 响应,直到到达正确的深度,然后您可以使用 getString("name") 获取该键(即 Bild2)处的内容。从对象/键获取内容后,您可以将其添加到列表或映射中以迭代数据或对数据执行任何其他操作。请参阅此 StackOverflow 问题以获取更多信息:Java loop over Json array?

您可能还想考虑使用 Gson 库来使您的解析变得更加容易。如果您能够将 Gson 添加到项目中(我建议您这样做),那么有大量关于解析数据并将 JSON 反序列化为纯 Java 对象的精彩教程(这将让您免去嵌套循环带来的麻烦)。 Using GSON in Android to parse a complex JSON objecthttp://blog.nkdroidsolutions.com/how-to-parsing-json-array-using-gson-in-android-tutorial/这是两个很好的资源。

(P.S. 如果可能的话,您可能需要考虑简化 JSON 结构,因为它会更容易使用)。

关于java - Android 中的 JSONObject 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com