JsonParser返回null而不是值 [英] JsonParser returning null instead of values

查看:489
本文介绍了JsonParser返回null而不是值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的Jackson解析器,该解析器应该向我返回值,但只获取null值.任何想法将不胜感激?

I have a simple Jackson parser, that is supposed to return me values but instead am getting only null values. Any ideas will be appreciated?

示例Json数据:

{"a":"ab","b":"cd","c":"cd","d":"de","e":"ef","f":"fg"}

代码:

var jfactory = new JsonFactory()
var jParser : JsonParser  = jfactory.createJsonParser(new File(outputDir + "/" + "myDic.json"))

while (jParser.nextToken() != JsonToken.END_OBJECT) {
  var k = jParser.getCurrentName();
  jParser.nextToken();
  var v = jParser.getText();
  println(k +"---" + v)
  phoneDict.put(k,v);
  i = i + 1;
  println(phoneDict.size)
  var t = readLine("Dict Done ?")
}

输出:

null---null
1
Dict Done ?
null---null
1
Dict Done ?
null---null
1
Dict Done ?
null---null
1
Dict Done ?

推荐答案

我的Java代码如下所示:

My Java code looks like this and works perfectly fine:

JsonFactory jsonFactory = new JsonFactory();
JsonParser jsonParser = jsonFactory.createParser(json);

//Skip START_OBJECT
jsonParser.nextToken();

while (JsonToken.END_OBJECT != jsonParser.nextToken()) {
    System.out.println(jsonParser.getCurrentName());
    jsonParser.nextToken();
    System.out.println(jsonParser.getText());
}

这篇关于JsonParser返回null而不是值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆