我想遞歸地解析包含許多複雜元素集的示例Json文件。 而我想要的代碼是這樣的:使用Jackson Json解析器遞歸解析json文件
public class Jsonex {
public static void main(String argv[]) {
try {
Jsonex jsonExample = new Jsonex();
jsonExample.testJackson();
} catch (Exception e){
System.out.println("Exception " + e);
}
}
public static void testJackson() throws IOException {
JsonFactory factory = new JsonFactory();
// System.out.println("hello");
ObjectMapper mapper = new ObjectMapper(factory);
File from = new File("D://albumList.txt");
TypeReference<HashMap<String,Object>> typeRef = new TypeReference<HashMap<String,Object>>() {};
HashMap<String,Object> o= mapper.readValue(from, typeRef);
// System.out.println("" + o);
Iterator it = o.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
HashMap<String,Object> o1=mapper.readValue(pairs.getValue().toString(),typeRef);
System.out.println("hey"+o1);
Iterator it1 = o1.entrySet().iterator();
while (it1.hasNext()) {
Map.Entry pairs1 = (Map.Entry)it.next();
System.out.println(pairs1.getKey() + " = " + pairs1.getValue());
it1.remove(); // avoids a ConcurrentModificat
}
}
}}
和我得到這個異常:
異常org.codehaus.jackson.JsonParseException:意外的字符( 'I'(代碼105)):期待雙引號開始字段名稱 at [Source:[email protected];行:1,列:3]
其實我試圖做的是,解析文件並獲取名稱對象對的列表,並採取inturn具有名稱 - 對象對的對象。 - 但問題是解析器在字符串之前期待「」!
你能展示一些JSON嗎?爲什麼它是無效的?至少對於字段名稱,您可以配置[JsonParser.Feature ALLOW_UNQUOTED_FIELD_NAMES](http://fasterxml.github.com/jackson-core/javadoc/2.1.0/com/fasterxml/jackson/core/JsonParser.Feature.html#ALLOW_UNQUOTED_FIELD_NAMES )在ObjectMapper上。 – nutlike 2013-03-18 15:25:58
{ 「菜單」:{ 「ID」: 「文件」, 「值」: 「文件」, 「彈出」:{ 「菜單項」: { 「值」: 「新」, 「點擊」 :「CreateNewDoc()」} {「value」:「Open」,「onclick」:「OpenDoc()」}, {「value」:「Close」,「onclick」:「CloseDoc()」} ] }} }} 感謝這麼多,但工作,但有一個新的異常。它說 異常org.codehaus.jackson.JsonParseException:意外的字符('='(代碼61)):期待一個冒號單獨的字段名稱和值 at [Source:[email protected];行:1,列:5] 現在。請幫助我@nutlike – sreeraag 2013-03-18 16:57:26
當我要求JSON時,我的意思是**您的** JSON而不是http://json.org/example.html ...請相應地更新您的問題。除此之外(再次):爲什麼你的JSON無效?你從哪裏得到它? – nutlike 2013-03-18 17:20:58