【问题标题】:JSON Parser returning null for fieldnameJSON 解析器为字段名返回 null
【发布时间】:2012-07-19 06:34:09
【问题描述】:

我有以下代码,当我使用有效的 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=="
      }

【问题讨论】:

  • 请发布您正在使用的 JSON 示例。此外,您正在执行两次parser.nextToken()
  • 第二个 nextToken() 调用用于获取字段值。

标签: java json parsing jackson


【解决方案1】:

你快到了。您只需要在 while 结构之前添加一个 nextToken 即可跳过 JsonToken.START_OBJECT

像这样:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    相关资源
    最近更新 更多