0

我的 JSON 流每次都可能不同。例如,有时它可以包含“歌曲”字段,有时不包含。

我得到这个字段值 asText ?如果未定义,如何告诉杰克逊将此值作为空字符串获取?

例子

"Content": "MusicContent",
"Song": "Track_1",

如果尝试 node.get("Song").asText() 它将给出“Track_1”

"Content": "MusicContent",

现在,如果我尝试获取 node.get("Song") 它会给出空指针异常。我想在调用 asText() 时得到一个空字符串。

我怎样才能做到这一点 ?

谢谢

4

1 回答 1

0

您可以在节点上调用 asText() 之前检查 null 。我可能会这样做:

if (node.get("Song") != null){
  myString = node.get("Song").asText();
} else {
  myString = "";
}

或者像这样花哨的方式:

myString = ((node.get("Song")!=null) ? node.get("Song").asText() : "");
于 2013-05-07T10:33:23.610 回答