gpt4 book ai didi

java - 如何解码 JSON 文件上的 Base64 编码字符串

转载 作者:行者123 更新时间:2023-12-02 00:31:22 24 4
gpt4 key购买 nike

我一直很难从编码的 JSONObject 中获取一些值来对其进行解码。

server.json数据文件:

{
"servers": [
{
"name": "Server 1",
"domain": "157.230.228.67",
"port": 465,
"location": "ph",
"http_server": "157.230.228.67",
"http_port": 8000
},
{
"name": "Server 2",
"domain": "157.230.228.67",
"port": 465,
"location": "ph",
"http_server": "10.199.212.2",
"http_port": 8080
}
],
"payloads": [
{
"name": "Payload 1",
"host": "IWdvb2dsZS5jb20="
},
{
"name": "Payload 2",
"host": "IWdvb2dsZS5jb20="
},
{
"name": "Payload 3",
"host": "IWdvb2dsZS5jb20="
}
]
}

现在我只想使用 jsonObject 或 JSONArray 来调用和解码(主机)值;我的 Mainactivity 类的代码 fragment ; 这会在主 Activity 上加载 server.json。

server_file = FileUtility.readFileFromAssets(getAssets(), "servers.json"); // LOAD
Log.e("List", "onCreate: " + server_file);






JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(server_file);
} catch (JSONException e) {
e.printStackTrace();
}
JSONArray key = jsonObject.names();
for (int i = 0; i <key.length() ; i++) {
try {
String keys = key.getString(i);
String value = jsonObject.getString(keys);
byte[] decode = Base64.getDecoder().decode(value);
String showDecode = new String(decode, "UTF-8");
} catch (JSONException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
Log.d(TAG, "key: " + jsonObject.names().getString(i) + "value: " + jsonObject.get(jsonObject.names().getString(i)));
} catch (JSONException e) {
e.printStackTrace();
}

现在我的主要问题是如何调用特定值(主机)值,以便在它在我的主要 Activity 中启动之前对其进行 Base64 解码。

+编码前主机的值为String数据类型。

最佳答案

让 gson 将其转换为对象/数据类(在 kotlin 中)可能会让您受益匪浅。您可以在创建过程中通过自定义 JsonDeserializer/JsonSerializer 反序列化 base64。

关于java - 如何解码 JSON 文件上的 Base64 编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012386/

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