如何将json字符串转换为我的班级

布拉克

我有一个json字符串,其中包含这样的数据:

description: { "en" : "english desc", "es": "spanish description" }

此字段在我的Item类中,但是它是一个字符串:

class Item

private String description;

我正在使用GSON解析此Json。我收到错误消息,因为Json字符串中的数据不是字符串。这是一个JSON对象。

我应该给一个默认语言的参数(例如en),它应该像这样解析:

description =  "english desc"

我怎样才能做到这一点?

马亨德拉

Description应该是一个复合对象,其中包含根据您输入的字符串的en和es字符串字段。参考例如

import com.google.gson.Gson;

public class Demo1 {

    class Item {

        Description description;

        public Description getDescription() {
            return description;
        }

        public void setDescription(Description description) {
            this.description = description;
        }

        @Override
        public String toString() {
            return "Item [" + description + "]";
        }

        class Description {
            String en;
            String es;

            public String getEn() {
                return en;
            }

            public void setEn(String en) {
                this.en = en;
            }

            public String getEs() {
                return es;
            }

            public void setEs(String es) {
                this.es = es;
            }

            @Override
            public String toString() {
                return "Description [en=" + en + ", es=" + es + "]";
            }

        }
    }

    public static void main(final String[] args) {

        String json = "{ description: { \"en\" : \"english desc\", \"es\": \"spanish description\" } }";

        Gson gson = new Gson();
        Item i = gson.fromJson(json, Item.class);
        System.out.println("item:" + i);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章