gpt4 book ai didi

java - 修改 json 数组文件中的键值,并将更改后的值写入同一文件

转载 作者:行者123 更新时间:2023-12-02 04:10:31 25 4
gpt4 key购买 nike

在文件“test.json”中有一个 json 数组。该数组包含以下内容:

    [
{
"txt": "this text is encrypted"
"ft": "this text is encrypted",
"Id": 2,
"No": 2,
},
{
"txt": "this text is encrypted"
"ft": "this text is encrypted",
"Id": 42,
"No": 2,
},
{
"txt": "this text is encrypted"
"ft": "this text is encrypted",
"Id": 12,
"No": 24,
},
.
.
.
. ~ 800 objects, each have the same signature
{
"txt": "this text is encrypted"
"ft": "this text is encrypted",
"Id": 47,
"No": 4,
}

]

The task

我想做的是,读取 test.json ,分别遍历数组中每个对象的每个键“txt”和“ft”(这些键的值已加密,我已经编码了该方法解密这些值)并将这些值分别传递给我的 crypto() 方法,该方法分别返回解密的字符串,然后将 test.json 文件中每个 key 的旧加密值覆盖为所有对象的新解密值在数组中。

What I'm trying to achieve

我在正确实现以下目标方面遇到困难:

  • 一次访问每个对象的“txt”和“ft”值;两个人在一个物体上。
  • 将“txt”和“ft”值分别传递给decrypt()方法。
  • 将解密()方法返回的解密字符串分别存储在临时字符串变量中。
  • 将这些临时字符串变量直接写入文件,从而用新的解密值覆盖“txt”和“ft”的原始值(已加密)。

My attempt

final String JSON_PATH = "/test.json";
BufferedReader br = new BufferedReader(new FileReader(JSON_PATH));
JsonParser parser = new JsonParser();
JsonArray arrayObj = parser.parse(br).getAsJsonArray();

for (JsonElement elm : arrayObj) {
JsonObject burObj = elm.getAsJsonObject();
String temp_fn ;
String temp_txt ;
String _fn = burObj.get("ft").getAsString();
String _txt = burObj.get("txt").getAsString();
temp_fn = Decrypt(_fn);
temp_txt= Decrypt(_txt);
}
<小时/>

这是我在我的大脑停止工作之前所得到的,就像如何将解密的字符串写入正确的值键并覆盖它们,同时保持 test.json 文件打开以供 for 循环通过数组中的下一个对象,然后再次执行整个过程,直到完成。

另外,我对我已经 5 年来没有用 java 编写的代码质量表示歉意!

<小时/>

最佳答案

将新的 json 对象重新保存到文件中。或者这种方法不适合您?

关于java - 修改 json 数组文件中的键值,并将更改后的值写入同一文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56691964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com