当前位置: 首页 > 知识库问答 >
问题:

如何使用java用现有的json数组值更新java中的json数组。值没有在外部json文件中更新

钱哲茂
2023-03-14

JSON文件:[
{
“名称”:“约翰”,“城市”:“柏林”,“工作”:“教师”},{
“名称”:“马克”,“城市”:“奥斯陆”,“工作”:“医生”}]

JSONParser parser=新的JSONParser();JSONArray a=(JSONArray)parser.parse(新的FileReader(“f:\file.json”));

    for (Object o : a) {
        JSONObject person = (JSONObject) o;

        String name = (String) person.get("name");
        
        if (name.equalsIgnoreCase("john")) {
            String name1 = (String) person.get("name");
            System.out.println("name1" + name1);

            String city1 = (String) person.get("city");
            System.out.println("city1" + city1);

            String job1 = (String) person.get("job");
            System.out.println("job1" + job1);  
            
            person.put("city", "BLR");
            String city2 = (String) person.get("city");
            System.out.println("city2" + city2);
        }
    }

共有1个答案

张鸿志
2023-03-14

JSONObject是不链接到原始文件的json的表示。要重写文件,需要更改person中的值并将其写入文件。

person.put("city", "BLR");
String jsonString = person.toString();
// write jsonString to file
 类似资料:
  • 问题内容: 这是我的杰森样品 我想更新SName,ZipCode,taxAmount,Quantity和text [1]值,可以通过任何方式进行。我正在文件中使用JSON,而更新标签正在纳入HashMap中 问题答案: 将用新值替换当前值。同样,您可以更新其他值。完成后,您可以使用以下方法将其转换回: 并将其写回到文件中。

  • 我有以下不便之处,我想只使用PostgreSQL更新JSON数组的键。我有以下json: 如果“othern”=X,我需要将“othern”更新为另一个数字 (X是我传递给查询的任何数字。例如,如果othern=5,则更新othern)。 这个JSON可能要大得多,所以我需要一些可以在JSON数组中迭代的东西,找到所有与X数匹配的“othern”,并替换为新的。非常感谢。 我尝试了Postgres

  • 问题内容: 这是json文件 我想通过直接给XPath / JsonPath Like来更改name。的值 这只是一个例子 我正确使用杰克逊库,并使用以下代码通过XPath进行读取 所以他们是一种通过XPath更改名称的方法 仍然在文件中不起作用。 问题答案: 使用Jayways JsonPath,您可以: 您可以配置默认的JsonProvider,因此不必在所有调用中都传递它。

  • 本文向大家介绍我们如何使用Java中的javax.json API更新现有的JSON数据?,包括了我们如何使用Java中的javax.json API更新现有的JSON数据?的使用技巧和注意事项,需要的朋友参考一下 该JsonBuilderFactory 接口是一个工厂来创建JsonObjectBuilder 实例和JsonObjectBuilder 是创建一个构造函数的JSONObject 从头

  • 我使用Unirest从一个endpoint获取所有id,我的数组如下: 现在我想得到所有,其中是0,我使用的是一个逻辑,它将得到,但是,我需要使用Java使用这个条件得到。 有人能帮我解决这个问题吗?