繁体   English   中英

如何向JsonObject添加新的Fields / Elements?

[英]How to add new Fields/Elements to JsonObject?

这是我的代码。 它是尝试使用GSON库读取JSON。

 JsonReader reader = new JsonReader( new BufferedReader(new InputStreamReader(s3Object.getObjectContent())) );
reader.beginArray();
int gsonVal = 0;
while (reader.hasNext()) {
       JsonParser  _parser = new JsonParser();
       JsonElement jsonElement =  _parser.parse(reader);
    JsonObject jsonObject1 = jsonElement.getAsJsonObject();
}

现在,我需要为这个JsonObject添加2个额外的字段。 我需要添加primary_key字段和hash_index字段。

我尝试了以下,但它没有奏效。

jsonObject1.add("hash_index", hashIndex.toString().trim()); 
jsonObject1.add("primary_key", i); 

添加这两个值时,JsonObject将如下所示。

{
        "hash_index": "00102x05h06l0aj0dw",
        "body": "Who's signing up for Obamacare?",
        "_type": "ArticleItem",
        "title": "Who's signing up for Obamacare? - Jan. 13, 2014",
        "source": "money.cnn.com",
        "primary_key": 0,
        "last_crawl_date": "2014-01-14",
        "url": "http://money.cnn.com/2014/01/13/news/economy/obamacare-enrollment/index.html"
    }

我怎样才能做到这一点? 这是我第一次使用GSON。

你必须使用JsonObject#addProperty()

 final JsonObject json = new JsonObject();
 json.addProperty("type", "ATP");

在你的情况下

jsonObject1.addProperty("hash_index", hashIndex.toString().trim()); 
jsonObject1.addProperty("primary_key", i); 

你必须使用put方法。

jsonObject1.put("hash_index", hashIndex.toString().trim()); 
jsonObject1.put("primary_key", i); 

从你的评论看来,你必须使用addProperty方法。

jsonObject1.addProperty("hash_index", hashIndex.toString().trim()); 
jsonObject1.addProperty("primary_key", i);

使用put方法。 jsonObject1.put("hash_index", hashIndex.toString().trim()); jsonObject1.put("primary_key", i);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM