java - 如何向 JsonObject 添加新的字段/元素?

标签 java json eclipse gson

这是我的代码。这是尝试使用 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); 

关于java - 如何向 JsonObject 添加新的字段/元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547731/

相关文章:

java - 如何使用 HashMap 写入和读取文件?

json - Odata查询Outlook Rest API

javascript - 测试 JS 数组中的对象

java - 如何找出引用最多的类?

java - Eclipse Milo 中的身份验证客户端-服务器

java - 无法访问 Web 项目上 jar 文件中的类

java - 数组中的值(不是索引)大于 3 会导致 java.lang.ArrayIndexOutOfBoundsException

java - 将 java.time.LocalDate 与 postgres 日期进行比较时出现问题

java - 错误: orphaned default using case statement in Java

json - 使用 R 和 JSONLITE 创建嵌套/分层 JSON?