gpt4 book ai didi

android - 如何解析 Assets 中的本地JSON文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:09 24 4
gpt4 key购买 nike

我的 Assets 文件夹中有一个 JSON 文件。该文件有一个带有数组的对象。该数组有 150 多个对象,每个对象都有三个字符串。

对于这 150 多个对象中的每一个,我想提取每个字符串并创建一个 java 模型对象,它传递三个字符串。我在 android JSON 解析上找到的所有教程都是从我不想做的 url 中获取 JSON。

最佳答案

你应该使用 Gson library 作为 json 解析器

在应用程序 gradle 文件中添加此依赖项:

implementation 'com.google.code.gson:gson:2.8.1'

在 res 文件夹中创建 raw 文件夹。然后将您的 json 文件复制到原始文件夹。(最好使用原始文件夹而不是 Assets )。例如,您有一个名为 my_json.json

的 json 文件
{
"list": [
{
"name": "Faraz Khonsari",
"age": 24
},
{
"name": "John Snow",
"age": 28
},
{
"name": "Alex Kindman",
"age": 29
}
]
}

然后创建您的模型类:

public class MyModel {
@SerializedName("list")
public ArrayList<MyObject> list;

static public class MyObject {
@SerializedName("name")
public String name;
@SerializedName("age")
public int age;
}
}

然后你应该创建一个函数来读取你的 json 文件:

public String inputStreamToString(InputStream inputStream) {
try {
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes, 0, bytes.length);
String json = new String(bytes);
return json;
} catch (IOException e) {
return null;
}
}

然后读取你的json文件:

String myJson=inputStreamToString(mActivity.getResources().openRawResource(R.raw.my_json));

然后将json字符串转换为模型:

MyModel myModel = new Gson().fromJson(myJson, MyModel.class);

现在您的 Json 已转换为模型! 恭喜!

关于android - 如何解析 Assets 中的本地JSON文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45176941/

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