java - 在 Java 中解析 JSON

标签 java json

我目前正在使用 Java,从网络服务读取 JSON 响应。 到目前为止,我一直在为预先知道的路径解析 JSON。所以我可以根据情况制作对象和数组。

String jsonText = readAll(br);
JSONObject json = new JSONObject(jsonText);
JSONObject resp = json.getJSONObject("Response");

但是现在我遇到了一个问题。我必须要求用户提供一条路径,并且我必须在 JSON 响应中获取该路径的值。路径可能不正确 - 在这种情况下返回错误。

有点像 XML 中的 XPath。我们在 JSON 中有类似的东西吗?

例如,路径可能如下所示: /Response/VehicleSearch/Vehicles/Vehicle[2]/Features/Feature[7]/ID

如果这是一个愚蠢的问题,请原谅。任何帮助表示赞赏。 提前致谢。

最佳答案

对于 JSON 等同于 XML 的 XPATH,您可以使用 JsonPath

根据文档:

JsonPath is to JSON what XPATH is to XML, a simple way to extract parts of a given document. JsonPath is available in many programming languages such as Javascript, Python and PHP. Now also in Java!

关于java - 在 Java 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538898/

相关文章:

java - 找到 NFC 标签时 Activity 重新打开

java - RxJava : Connect observers?

json - 带有正文的 Angular 2 Http 服务 GET

.net - .NET JSON解析器比较

json - FullCalendar - 向 Event 对象添加新属性

java - 如何在 SD 卡中创建一个只能用我的应用程序读取或写入的文件夹?

java - 在 Java 中将 SQL 解析为数组

java - [key1 :value1, key2 :value2, key3 :value3], [key21 :value21, key22:value22] 的正则表达式

JSON.net JsonIgnoreAttribute 不适用于 "EntityKey"属性

java - 使用 Gson 解析带有嵌套数组的 json