如何在Android中为以下JSON字符串创建GSON解析的对象类?

如何在Android中为以下JSON字符串创建GSON解析的对象类?,android,json,gson,Android,Json,Gson,有人能帮忙吗..如何为上面的JSON字符串创建对象类 这样我才能做到这一点- Gson Gson=新的Gson() 尽管我强烈建议自己学习JSON的结构以及如何将其转换为标准Java对象。有一些工具可以自动从JSON生成类。不过,这些工具总是可靠的!其中之一是: 如果要学习JSON结构,请记住以下格式: {“字段名”:“值”} 这意味着: Register register_class = gson.fromJson(registration_response,Register

有人能帮忙吗..如何为上面的JSON字符串创建对象类

这样我才能做到这一点- Gson Gson=新的Gson()


尽管我强烈建议自己学习JSON的结构以及如何将其转换为标准Java对象。有一些工具可以自动从JSON生成类。不过,这些工具总是可靠的!其中之一是:

如果要学习JSON结构,请记住以下格式:

{“字段名”:“值”}

这意味着:

        Register register_class = gson.fromJson(registration_response,Register.class);           
         register_list.add(register_class); 

其中fieldName将获得值:“value”。

看看这篇关于
JSON
解析的博客文章,使用
GSON
和我写的原生技术:


指南末尾有一个示例项目,您可以下载并从中学习。

您的类应该是这样的:(我说的是这样的,因为我标记为字符串字段,我不确定您希望它们是什么)

您还需要为
MyClass
中的字段和内部
ReqDept
类中的字段生成getter和setter。
ReqDept
类是必需的,因为您在该JSON字段中获得的信息是另一个JSON对象

另外,要小心使用“Y”值,因为它们不会自动转换为
布尔值(这就是我将它们标记为字符串的原因)


希望这有帮助

您应该在Android Studio中使用GsonFormat插件,它可以将json字符串转换为Gson的Java对象

转到文件->设置->插件->浏览存储库->搜索GsonFormat

下载并重新启动android studio


现在,转到getter setter类,按alt+s并将json字符串放入打开的窗口,然后单击“确定”或转到“设置”以获取更多选项

您想要一个与该json匹配的类,以便对其进行反序列化吗?你们试过什么?我试着创建一个和JOSN匹配的类。但在那个类中,我刚刚创建了getter和setter的有用对象。在这种方法中,我得到了异常:GSON返回异常json语法异常需要一个字符串,但在第1行第15hi列是begin_对象。我如何才能从类格式的json字符串中仅获取有用的字段。。。。我不想让整个字符串成为我的类…只有用…我怎么能做到?有什么想法吗?只需添加您需要的字段,GSON库就会在未在类中声明字段时自动跳过该字段。
        Register register_class = gson.fromJson(registration_response,Register.class);           
         register_list.add(register_class); 
class RootClass
{
    private String fieldName;
    public String getFieldName() {
       return fieldName;
    }

    public void setFieldName(String fieldName) {
       this.fieldName = fieldName;
    }
}
public class MyClass {
    private String errorDesc;
    private Integer ownerId;
    private String departments;
    private String validUser;
    private String clientId;
    private String displayPrio;
    private String allowSimpleProject;
    private String simpleProjectType;
    private ReqDept reqDept;
    private String viewOptions;
    private String sessionId;
    private String unitName;
    private String userid;
    private String userName;
    private String errorCd;
    private String profiles;
    private String view;
    private Integer unitId;

    class ReqDept {
        private String STORE_API;
        private String STORE_BF;
        private String STORE_BAKERY;
        private String STORE_CLINIC;
        private String STORE_DAIRY;
        private String STORE_DELI;
        private String STORE_DISTRIBUTI;
        private String STORE_FM;
        private String STORE_FROZEN;
        private String STORE_GE;
        private String STORE_HR;
        private String STORE_INSTOCKS;
        private String STORE_MEAT;
        private String STORE_OPTICAL;
        private String STORE_POG;
        private String STORE_PHARM;
        private String STORE_PL;
        private String STORE_PS;
        private String STORE_PRESENTATI;
        private String STORE_PA;
        private String STORE_PROD;
        private String STORE_REMODEL;
        private String STORE_RL;
        private String STORE_AA;
        private String STORE_GROC;
        private String STORE_SFH;
        private String STORE_HB;
        private String STORE_HOME;
        private String STORE_SIGNFIX;
        private String STORE_STARBUCKS;
        private String STORE;
        private String STORE_TC;
}