2

我有以下代码,当我使用有效的 JSON 运行它时,它为字段名返回 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=="
      }
4

1 回答 1

2

你快到了。你只需要nextToken在 while 结构之前,就可以跳过JsonToken.START_OBJECT.

像这样:

parser.nextToken();
while (parser.nextToken() != JsonToken.END_OBJECT) {
于 2012-07-19T06:56:44.420 回答