当前位置: 首页 > 知识库问答 >
问题:

使用GSON从这个Json字符串中提取对象

梁和颂
2023-03-14

我需要得到这个json字符串的Works数组:

  [
        {
            "worktypes": [
                {
                    "works": [
                        {
                            "price": "22,22",
                            "code": "A00011",
                            "name": "name 2"
                        },
                        {
                            "price": "22,22",
                            "code": "A00011",
                            "name": "name 3"
                        },
                        {
                            "price": "22,22",
                            "code": "A00011",
                            "name": "name 4"
                        },
                        {
                            "price": "11",
                            "name": "aa",
                            "code": "aa"
                        },
                        {
                            "price": "12,22",
                            "name": "Nombre",
                            "code": "A00112"
                        },
                        {
                            "price": "22",
                            "name": "asdads",
                            "code": "asdasd"
                        },
                        {
                            "price": "11",
                            "name": "yy",
                            "code": "yy"
                        }
                    ],
                    "name": "Pompas"
                }
            ]
        }
    ]

我试试这个:

List<Work> works = gson.fromJson(value.toString(), new TypeToken<List<Work>>() {}.getType());

但是不要让任何人。。怎么了?

PD:Work是一个具有价格、代码和名称值的类。

共有1个答案

萧奇
2023-03-14

再上一节课。类并具有工作对象的ArrayList的实例

public class WorkTypes  {

    //worktypes here should match json...character to character!
    private ArrayList<Work> worktypes;

    public ArrayList<Work> getEntities() {
        return worktypes;
    }

    public void setEntities(ArrayList<Work> worktypes) {
        this.worktypes = worktypes;
    }
}

然后,对于GSON,请执行以下操作:

    WorkTypes objs = null;
    objs = gson.fromJson(jsonDataString, WorkTypes.class);
 类似资料:
  • 问题内容: 我试图解析JSON字符串“ {‘test’:‘100.00’}”并使用GSON库获取值:100.00。我的代码如下所示: 我的结果看起来像这样:“ 100.00”,但是我只需要100.00(不带引号)即可。如何归档? 问题答案:

  • 无法弄清楚如何将以下带有GSON的JSON字符串解析为任何适当的对象以检索其数据。字符串是: 我发现方括号表示它是一个ArrayList,但里面还有另一个对象。 如果我试着在ArrayList上搜索: 然后它抱怨: 如果我尝试相反的方法: 然后它也在抱怨: 不理解该格式:-/ 感谢您的任何建议!

  • 我正在使用ApacheJMeter发出HTTP请求。 响应格式如下: HTTP/1.1 100继续 HTTP/1.1 200 OK x-powering-by: Express access-Control-low-source:*access-Control-low-method: HEAD, POST, PUT, GET, OPTIONS, DELETE access-Control-low-

  • 我正在以JSON字符串的形式从数据库中获取数据: 如何从给定的JSON字符串中提取公司名称?

  • 我试图使用GSON解析我的JSON字符串,从一个简单的JSON字符串中提取key:value对,并将其加载到映射中。到目前为止,我使用来完成该操作。现在我正在尝试使用GSON做同样的事情。 下面是我的json字符串- 现在我需要序列化上面的JSON字符串,从JSON字符串中提取以下字段,并将其作为键值对放在中。在映射中,它应该是作为键,作为值。其他人也是如此。 我在这里如何使用GSON来做同样的事

  • 问题内容: 我正在使用select2中的multiselect元素来输入多个“标签”。当我想从元素中获取值时,我会得到如下信息(对于我在框中输入的tag1和tag2): 如何从数组中的文本中获取结果,如下所示: 而我该如何逆转这一过程呢? 问题答案: 试试这个简单的迭代。