使用保留关键字创建Java对象作为变量名

时间:2016-07-29 08:03:12

标签: java json

我有需要转换为Java对象的JSON。我需要处理的JSON可能如下所示:

{
    "documents": [
        {
        "title": "Jobs",
        "is-saved": false,
        "abstract": "<span class=\"hit\">Jobs</span> may refer to:\n\n* Steve <span class=\"hit\">Jobs</span> (1955–2011), co-founder and former CEO of consumer electronics company...<br />",
        "id": "Jobs",
        "url": "http://en.wikipedia.org/wiki/Jobs"
        }
    ],

   "keywords_local": [
       {
        "keyword": "Jobs",
        "interest": 1,
        "angle": 0
       }
   ],
   "sessionid": "6cd6402e-1f67-45a8-b0fa-e79a5d0d50f4",
   "q": "Jobs",
}

在searchengine上输入搜索关键字时返回此JSON,在本例中为“Jobs”。我没有命名这些要创建的变量,这个JSON只是从一个类似的早期应用程序“给予”我。所以我显然遇到了变量保存和抽象的问题。 Abstract是一个保留关键字,在任何地方我读取保留关键字都不能用作变量名。

我无法访问我之前正在更新的应用程序,我想这一点就是我需要自己解决这个问题;)但我现在有点站不住了,没有如何前进的想法。

我是新手,所以如果我问一个愚蠢的问题,不要给我地狱,这是我第一次编写任何类型的应用程序! ;) 谢谢你的帮助!

3 个答案:

答案 0 :(得分:9)

如果您使用GSON进行解析,您可以根据需要为您的成员命名并注释它们以进行映射。

@SerializedName("abstract")
private String abstractText;

答案 1 :(得分:7)

您获得的另一个选择是使用Jackson,并使用@JsonProperty注释..

@JsonProperty("abstract")
private String abstractText;

答案 2 :(得分:1)

实际上,它取决于您使用的工具。使用直接映射到自定义POJO的工具(如GSONJackson),您需要使用Java正确且有效的字段名称映射JSON字段名称。

如果使用m JSON.org等mors基本库,则无需这样做,因为您将其解析为特定对象,允许您处理它。

JSONObject obj = new JSONObject(" .... ");

JSONArray arr = obj.getJSONArray("documents");
String abstractValue = arr.getJSONObject(0).getString("abstract");
相关问题