1
我在jar上用jar來試試這個。net.sf.json-lib 2.4。如何解析jsonarray方括號內容
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]);
}
當插入第二個數據時,會出現以下錯誤。
class java.lang.String
class java.util.ArrayList
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in egovframework/sqlmap/com/test/sqlmap-test.xml.
--- The error occurred while applying a parameter map.
--- Check the insertTestData-InlineParameterMap.
--- Check the parameter mapping for the 'foo' property.
--- Cause: java.lang.NullPointerException
我打印列表後,我可以看到,這個例外是在方括號中分析錯誤引起的。
0: [{\"foo\" : \"[1234] server\"}]
1: [{\"foo\" : [1234]}]
如何將「1」作爲帶有方括號的字符串,如「0」?
請幫忙!
你是什麼意思「但結果......它是一個數組,而不是一個字符串。」?我希望結果是一個包含單個對象的數組,其中包含一個名爲「foo」的屬性,該屬性具有字符串值。請提供一個顯示實際發生情況的[mcve]。 –
您是否確實提取了'foo'的值,或者您是直接使用'fromObject'調用的結果並期望Java自動爲您挖掘到該值? – user2357112
「JSONArray」類在哪裏? – nandsito