android - 如何使用 gson 和 impliment room 解析本地 JSON 文件?

标签 android json

[
  {
    "": 0,
    "Gender": "Girl",
    "Meaning": "Idealistic",
    "Name": "A'adarshini",
    "Origin": "Hindi"
  },
  {
    "": 1,
    "Gender": "Girl",
    "Meaning": "Hope and need",
    "Name": "A'dab",
    "Origin": "Arabic"
  },
  {
    "": 2,
    "Gender": "Girl",
    "Meaning": "Visiting, returning, reward",
    "Name": "A'idah, aida",
    "Origin": "Arabic"
  }
]

我的 Android 工作室本地有这个 JSON 文件,我想使用 Gson 库读取它并实现 Room?如何实现?

我正在尝试获取这样的 JSON 字符串,但出现错误

   String json;
    try {
        InputStream is = getResources().openRawResource(R.raw.names);
        if (is != null) {
            InputStreamReader inputStreamReader = new InputStreamReader(is);
            BufferedReader reader = new BufferedReader(inputStreamReader);

            String line = "";
            StringBuilder sb = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }
            is.close();
            json = sb.toString();

            Log.d(TAG, "readData: data recived" + json);

        }
    } catch (IOException e) {

        e.printStackTrace();
    }

最佳答案

您可以简单地使用下面的代码。

 String jsonOutput; // Your json string
 Type listType = new TypeToken<List<RoomModel>>() {}.getType();
 ArrayList< RoomModel > rooms = new Gson().fromJson(jsonOutput, listType);


public class RoomModel
{
    public int ID,
    public String Gender;
    public String Meaning;
    public String Name;
    public String Origin;
}

关于android - 如何使用 gson 和 impliment room 解析本地 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345797/

相关文章:

android - 读取 HTML 加载的表单 webview Android 中的元素

java - Android 如何向此 : new java.net.URL ("http://example.com/").openStream() 添加 header

android - 在 X-Cross 平台库上使用 JsonCpp

java - 使用 Jackson : Can we have optional variables in a POJO 解析 JSON

javascript - jQuery Ajax POST JSON 问题

xml - JSON 是一种语言吗?如果不是,它会如何分类?

java - 涂抹工具的算法?

javascript - JSON 中的意外 token 。如何在 JSON 数组中包含正则表达式?

c# - 如何在 C# 中从 json 模式创建默认的 json 对象

android - 两部手机评估 SimpleDateFormat(...).parse(String) 的方式不同。为什么?