Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中更新现有的JSON文件_Java_Json - Fatal编程技术网

如何在java中更新现有的JSON文件

如何在java中更新现有的JSON文件,java,json,Java,Json,这是我的Json示例 { "State": { "version": "1", "SName": "Test", "shippingDetails": { "Address1": "AP", "ZipCode": "1236" }, "Directions": {

这是我的Json示例

 {
        "State": {
            "version": "1",
            "SName": "Test",
            "shippingDetails": {
                "Address1": "AP",
                "ZipCode": "1236"
            },
            "Directions": {
                "routes": [
                    {
                        "taxAmount": "0.0",
                        "Quantity": "5",
                        "bounds": {
                            "SerialVersion": [
                                {
                                    "text": "1.7 km",
                                    "value": "1729",
                                    "time": "02633"
                                },
                                {
                                    "text": "1.9 km",
                                    "value": "1829",
                                    "time": "02353"
                                },
                                {
                                    "text": "17 km",
                                    "value": "1059",
                                    "time": "02133"
                                }
                            ]
                        }
                    }
                ]
            }
        }
    }
我想更新SName、ZipCode、taxAmount、Quantity和text[1]值 有没有办法做到这一点。我将JSON放在一个文件中,更新标记放在HashMap中

JSONObject jsonObject = new JSONObject("Your_JSON_String");

JSONObject jsonObjectForState = jsonObject.getJSONObject(“State”);

jsonObjectForState.put("Sname", "New_Value_Here");
put(…)
将用新值替换当前值。类似地,您可以更新其他值。完成后,可以使用以下方法将其转换回:

jsonObject.toString();

然后将其写回文件。

如果您在
HashMap
中有它们,您可以直接更改值并将其转换回
JSON
@HarshalParekh我在文件中使用JSON,需要在hash map中更新的标记不是整个JSON,而是修改JSON,您需要加载整个JSON。@HarshalParekh您能提供一个例子吗?这里:它不起作用,新标记附加在状态之外{}如何在我的问题旁边避免-1?因此,这是来自其他人,他们认为这个问题可能在将来对其他人没有帮助,或者问题质量不合格。今后,在发布问题之前,请仔细阅读以下内容,以避免投反对票: