Java 指向您在Android Studio中创建的Json文件

Java 指向您在Android Studio中创建的Json文件,java,android,json,gson,Java,Android,Json,Gson,练习JSON到JAVA对象的技巧,遇到问题,试图指向我在android studio中创建的JSON文件,而不是完整地写出JSON数据。这是我的密码。多谢各位 试图扭转这种局面: System.out.println( gson.fromJson("{\"draw_date\":\"2016-10-07T00:00:00.000\",\"mega_ball\":\"14\",\"multiplier\":\"02\",\"winning_numbers\":\"24 3

练习JSON到JAVA对象的技巧,遇到问题,试图指向我在android studio中创建的JSON文件,而不是完整地写出JSON数据。这是我的密码。多谢各位

试图扭转这种局面:

 System.out.println(
            gson.fromJson("{\"draw_date\":\"2016-10-07T00:00:00.000\",\"mega_ball\":\"14\",\"multiplier\":\"02\",\"winning_numbers\":\"24 37 42 50 65\"}", MegaPOJO.class));
为此:

 System.out.println(gson.fromJson(jsonFile, MegaPOJO.class));

如果要执行此操作,请将json文件放在原始资源文件夹中

我创建了一个ResourceManager类来获取内容

public class ResourceManager {

    private final Context context;
    private final Resources resources;
    private static ResourceManager resourceManager;

    private ResourceManager(Context context) {
        this.context = context;
        this.resources = context.getResources();
    }

    public static ResourceManager getResourceManager(Context context) {
        if (resourceManager == null) {
            resourceManager = new ResourceManager(context);
        }

        return resourceManager;
    }

    public String getJSONFromRawResources(String jsonFilename) {
        int resourceID = resources.getIdentifier(jsonFilename, "raw", context.getPackageName());

        InputStream inputStream = resources.openRawResource(resourceID);
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
            StringBuilder jsonStringStringBuilder = new StringBuilder();

            String line;
            while ((line = reader.readLine()) != null) {
                jsonStringStringBuilder.append(line);
            }

            return jsonStringStringBuilder.toString();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
}
您可以通过以下方式访问此类:

ResourceManager resourceManager = ResourceManager.getResourceManager(this);
String jsonResult = resourceManager.getJSONFromRawResources("jsonfile");
然后您可以使用:

 System.out.println(gson.fromJson(jsonResult, MegaPOJO.class));

我忘了提到,如果您希望此代码正常工作,请将/raw文件夹中的jsonfile命名为“jsonfile.json”。或者更改resourceManager.getJSONFromRawResources(“jsonfile”)方法中的字符串;