gpt4 book ai didi

java - 无法解析 JSON 对象数组

转载 作者:行者123 更新时间:2023-12-02 04:40:24 26 4
gpt4 key购买 nike

我有一个 NodeJS 云函数,它以数组的形式获取一堆 javascript 对象(来自数据库的条目),并将它们发送到客户端。

在服务器上我使用以下方法执行此操作:返回 JSON.stringify(结果);

其中“result”是 JS 对象的数组。然后我将数据发送给客户端。

在我的 Android 客户端中,我收到字符串,并且需要迭代原始数组中的每个对象并单独处理它们。我不能!我总是收到如下错误:

I: [Batch] com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected name at line 1 column 3 path $[0].

在我的 Android 客户端上,我尝试过:

WebItemEntry [] items = new Gson().fromJson(jsonString, WebItemEntry[].class);

并且...

ArrayList<WebItemEntry> items = new Gson().fromJson(jsonString, new TypeToken<ArrayList<WebItemEntry>>(){}.getType());

似乎都不起作用。与上面相同的错误。

我从数据库获得的原始输出是 JSON 字符串,它由我想要迭代和解析的五个单独条目组成。它有点困惑,但你可以看到它的分隔符是大括号 {。我真的想在我的 Android 客户端中使用 GSON 或类似的工具来单独解析这些条目并将它们转换为我的自定义 Java 类:WebItemEntry。

[{\"charityID\":0,\"purchaserZIP\":\"\",\"category\":\"Women\u0027s Accessories\",\"valueCents\":0}, {... same thing for a different entry here...}, {new entry ... }]

最佳答案

在服务器上忽略stringify并返回普通对象,那些\"字符在js对象stringify两次时出现。所以替换return JSON.stringify(result) ;返回结果;

关于java - 无法解析 JSON 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56520431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com