这是我的代码。这是尝试使用 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。
答案 0 :(得分:7)
您必须使用JsonObject#addProperty()
final JsonObject json = new JsonObject();
json.addProperty("type", "ATP");
在你的情况下
jsonObject1.addProperty("hash_index", hashIndex.toString().trim());
jsonObject1.addProperty("primary_key", i);
答案 1 :(得分:0)
您必须使用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);
答案 2 :(得分:0)
使用put方法。 jsonObject1.put("hash_index", hashIndex.toString().trim());
jsonObject1.put("primary_key", i);