Java 如何解析jsonarray方括号内容

Java 如何解析jsonarray方括号内容,java,json,Java,Json,我用jar net.sf.json-lib 2.4在java上进行了尝试 Map<String,Object>[] retrievedList = null; String getTypeParam = "[{ 'foo': '[1234] server' }, { 'foo': '[1234]' }]"; JSONArray jsonArray = JSONArray.fromObject(getTypeParam); list = (Map<String, Object&

我用jar net.sf.json-lib 2.4在java上进行了尝试

Map<String,Object>[] retrievedList = null;
String getTypeParam = "[{ 'foo': '[1234] server' }, { 'foo': '[1234]' }]";
JSONArray jsonArray = JSONArray.fromObject(getTypeParam);

list = (Map<String, Object>[]) JSONArray.toArray(jsonArray, HashMap.class);

for (int inx = 0; inx < list.length; inx++) {
    System.out.println(list[inx].get("foo").getClass());
    testDAO.insertTestData(list[inx]);
}
打印完列表后,我可以看到异常是由方括号中的解析错误引起的

0: [{\"foo\" : \"[1234] server\"}]
1: [{\"foo\" : [1234]}]
如何将“1”作为带方括号的字符串,如“0”


请帮忙

如果
foo
返回一个数组,您可以尝试类似
foo[0]的操作


这将显示数组中的零索引(第一个元素),它应该是您要查找的变量。您还必须将其转换为字符串,因为这是一个整数。

如果
foo
返回一个数组,您可以尝试类似
foo[0]的操作。tostring


这将显示数组中的零索引(第一个元素),它应该是您要查找的变量。您还必须将其转换为字符串,因为这是一个整数。

您所说的“但结果……它是一个数组,而不是字符串”是什么意思?我希望结果是一个包含单个对象的数组,其中包含一个名为“foo”的属性,该属性具有字符串值。请提供一个显示实际发生情况的示例。您是实际提取了
foo
的值,还是直接使用了
fromObject
调用的结果,并期望Java会自动为您挖掘该值?
JSONArray
类在哪里?这是什么意思“但是结果。。。这是一个数组,不是字符串。”?我希望结果是一个包含单个对象的数组,其属性为“foo”“它有一个字符串值。请提供一个显示实际发生情况的示例。您是实际提取了
foo
的值,还是直接使用
fromObject
调用的结果,并期望Java会自动为您挖掘该值?
JSONArray
类在哪里?
0: [{\"foo\" : \"[1234] server\"}]
1: [{\"foo\" : [1234]}]