JSON Parser为fieldname返回null

时间:2012-07-19 06:34:10

标签: java json parsing jackson

我有以下代码,当我使用有效的JSON运行它时,它为fieldname返回null。 我这几个小时以来一直在摸不着头脑。

    JsonFactory jFactory=new JsonFactory();
    JsonParser parser=jFactory.createJsonParser(bytes);

    while (parser.nextToken() != JsonToken.END_OBJECT) {
        String field_name=parser.getCurrentName();
        System.out.println("fieldName: "+field_name);
        parser.nextToken();
        if(field_name.equals("value")){
            System.out.println("value found");
            data=parser.getBinaryValue();
            out.write(new String(data));
        }//if
    }//while
    parser.close();

JSON示例:

      {
     "mimetype" : "text/plain",
     "value" : "c2FzCg=="
      }

1 个答案:

答案 0 :(得分:2)

你快到了。您只需要在while结构之前使用nextToken,以便跳过JsonToken.START_OBJECT

像这样:

parser.nextToken();
while (parser.nextToken() != JsonToken.END_OBJECT) {