gpt4 book ai didi

java - 解析一个非常复杂的嵌套 json,其结构在 JAVA 中总是在变化

转载 作者:行者123 更新时间:2023-11-29 03:19:27 24 4
gpt4 key购买 nike

我有一个非常复杂的嵌套 json,其结构总是在变化。我想在 JAVA 中解析它,以便我可以使用键/字段名称检索任何元素。

选项 1 - 最简单的方法是将 json 转换/解析为 JAVA 对象。我已经尝试了所有方法(gson、JSONObject、Jackson...)但我无法转换 json,除非我准备好 java 类,并且由于 json 不遵循固定结构,我无法将其转换为 JAVA 类。是否有任何其他库可以将 json 转换为 java 对象? (不需要预先存在的 java 类将 json 转换成)

选项 2 - 或者有没有我可以使用的方法/库,如果给定一部分 json,程序将打印 json 文件中的所有元素。像这样的……

StreetAddressLine
PrimaryTownName : value
CountryISOAlpha2Code :value
TerritoryAbbreviatedName :value
PostalCode : value

{"PrimaryAddress": [ {
"StreetAddressLine": [{"LineText": "492 Koller St"}],
"PrimaryTownName": "San Francisco",
"CountryISOAlpha2Code": "US",
"TerritoryAbbreviatedName": "CA",
"PostalCode": "94110",
"AddressUsageTenureDetail": [{"TenureTypeText": {
"@DNBCodeValue": 1129,
"$": "Rents"
}}],
"PremisesUsageDetail": [{"PremisesUsageFunctionDetail": [{"PremisesFunctionText": {
"@DNBCodeValue": 12058,
"$": "Manufacturing"
}}]}],
"CountyOfficialName": "San Francisco County",
"TerritoryOfficialName": "California",
"CountryGroupName": "North America",
"GeographicalPrecisionText": {
"@DNBCodeValue": 0,
"$": "Unknown"
},
"UndeliverableIndicator": false,
"MetropolitanStatisticalAreaUSCensusCode": ["San Francisco-Oakland-Hayward CA"],
"RegisteredAddressIndicator": false,
"ResidentialAddressIndicator": false
}]}

非常感谢!

最佳答案

尝试使用 json-simple将 JSON 解析为一堆嵌套的 JSONObject(基本上是 map )和 JSONArray(基本上是列表)元素并自己提取值。

只是一个节点:PrimaryAddress 表示可能还有一个SecondaryAddress,所以嵌套不要改变,否则可能很难确定是哪个地址StreetAddressLine 属于。

在那种情况下,更好的问题是:为什么结构经常变化?

关于java - 解析一个非常复杂的嵌套 json,其结构在 JAVA 中总是在变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24615353/

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