我已被分配到我的大学,无需任何准备就能完成工作,而且我对如何正确使用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(“of stuff of stuff”);但我必须在这个函数中使用的唯一名称是“af”...而且该死的我不能想到这个,是Af是一个数组的数组?这是一个清单吗?我被困在这里。
答案 0 :(得分:1)
您的json文本无效,因为它包含不带引号的键/值。
您有两种方法可以使用这种格式错误的json文本:
首先应将json转换为有效的json,每个字符或字符串应放在双引号中。即
这是无效的:[a, 1 ,b]
这个有效:["a", 1, "c"]
注意:我提到的字符是除数字之外的任何字符
然后您可以递归调用jsonArray.getJsonArray(n).getJsonArray(m)
来获取嵌套数组,其中n
和m
是索引。
使用ALLOW_UNQUOTED_FIELD_NAMES
等return await filterdList.length == 1;
功能,可以解析未引用的json文本。另见Jackson Core Library
答案 1 :(得分:0)
af
是一个json数组,所以你可能应该使用jsonObject.getJsonArray("af")
。这将为您提供一个JsonArray
对象,您可以使用jsonArray.getJsonArray(0).getString(0)
之类的东西来阅读(您可能需要在运行时使用JsonValue.getValueType
找出值类型。)