gpt4 book ai didi

java - 如何将字符串转换为 JSON?

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

我正在使用volley从互联网上获取一个文件,该文件是一个数组。我将文件保存在缓存中,为此我必须将文件转换为字符串。我有一个函数可以读取缓存并将响应传递到另一个文件以显示信息,但是当我尝试将资源转换回数组时,出现错误

Value AuthStatus of type java.lang.String cannot be converted to JSONObject

我对 Android 很陌生,希望有人能给我指出正确的方向

private void cacheFile(JSONObject response) {
JSONObject res = response;
String filename = "jsonfile";
FileOutputStream outputStream;

try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(res.toString().getBytes("utf-8"));
outputStream.close();
Log.e(TAG, "Bien");
} catch (Exception e) {
e.printStackTrace();
}
}

private void readCache(String filename) {
FileInputStream inputStream;
try {
inputStream = openFileInput(filename);
inputStream.read();
String body = IOUtils.toString(inputStream, StandardCharsets.UTF_8.name());
inputStream.close();
fromCache(body);
} catch (Exception e) {
e.printStackTrace();
}
}


public void fromCache(String json) {

JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray("cars");
Log.e(TAG, "Array Size: " + jsonArray.length());
} catch (JSONException e) {
e.printStackTrace();
}
}

最佳答案

您必须使用 JSONValue.parse 方法,如下所示:

public void fromCache(String json) { 
JSONObject jsonObject = null;
try {
jsonObject = (JSONObject)JSONValue.parse(json);
JSONArray jsonArray = jsonObject.getJSONArray("cars");
Log.e(TAG, "Array Size: " + jsonArray.length());
} catch (JSONException e) {
e.printStackTrace();
}
}

关于java - 如何将字符串转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55939469/

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