java - [Json][Java] 对如何解析此文本一无所知。使用库

标签 java json

我在大学里被指派在没有任何准备的情况下创作一个作品,而且我不知道如何正确使用 JSON 来阅读此内容:

{ "af": [
 ["a", "b", "0", "1"],
 ["0", "1"],
 [ ["a","#","0"], [a,0,b], [a, 1, a], ["b", 0,"a"], ["b", "1", "b"], ["0", "0", "0"], ["0", "1", "1"], [1,0,1], [1 ,1, 0] ]
 ["a"],
 ["1"]
 ]
}

我尝试在互联网上查找一些示例,但不知道如何使用它。我正在尝试使用 java 进行这项作业,并且我正在使用 Json 库 json-simple。有人可以帮助我吗?就像真的没有线索一样。我将继续寻找更多示例。

我的主要问题是,要“拥有”这个 json 的部分,我必须使用 jsonObject.get("name of stuff");但我在这个函数中必须使用的唯一名称是“af”...该死的我无法想象这一点,Af 是一个数组数组吗?它是一个列表吗?我有点被困在这里了。

最佳答案

您的 json 文本无效,因为它包含未加引号的键/值。

有两种方法可以处理这个格式错误的 json 文本:

第一

您应该首先将 json 转换为有效的 json,每个字符或字符串都应放在双引号中。即

这是无效的:[a, 1 ,b]

此有效:["a", 1, "c"]

注意:我提到的字符是除数字之外的任何字符

然后你可以递归调用jsonArray.getJsonArray(n).getJsonArray(m)来获取嵌套数组,其中nm是索引.

第二个

使用Jackson Core Library ALLOW_UNQUOTED_FIELD_NAMES 等功能允许您解析未正确引用的 json 文本。看到这个answer也是

关于java - [Json][Java] 对如何解析此文本一无所知。使用库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46720171/

相关文章:

json - Perl 生成的 JSON 中的 UTF8 字符串在客户端损坏

javascript - threejs 混合 json 导出 + 无法读取未定义的属性 'type'

java - 使用 Selenium Java 捕获 onclick() javascript 调用的参数

java - 如何使用java邮件在单个邮件中发送由函数返回的两个附件?

java - 我的 traverse 方法不会传递 int 的值,但可以传递 ArrayList 的值

java - Spring 4实体管理器配置

java - 处理 rest webservice url 中单个查询参数的多个值并使用 hibernate 条件处理它们

json - 为什么在具有 KAA 的端点客户端中得到 200 的响应但不显示消息正文

javascript - 正则表达式 : Remove quotation marks from json list

java - 使用 GSON 将 2D JSON 数组反序列化为 bean