gpt4 book ai didi

java - 如何使用 GSON 反序列化 PHP 数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:03 40 4
gpt4 key购买 nike

在 PHP 中,我使用 json_encode 序列化一个数组,并尝试使用 GSON 在 Android 设备上读取该数组。但 Android 因致命异常而崩溃。我无法让它与我见过的任何示例一起工作。我认为这是由 JSON 字符串引起的。它以数组的索引开始(下面示例中的 19 和 17),我还没有看到任何此类 JSON 字符串的示例。我见过的所有示例都以属性名称开头,而不是以索引/cpunter 开头。

这是我的 JSON 示例:

{"19":{"id":"1262","username":"abc","telnr":"0123456789","created":"Sun, 08 Aug 2010 10:29:06 +0200","email":"e@mail.com","code":null},"17":{"id":"1259","username":"cdef","telnr":"9876543210","created":"Sun, 08 Aug 2010 10:29:06 +0200","email":"mail@domain.com","code":null},

在许多其他组合中,我尝试了以下两个示例:

Type listType = new TypeToken<List<String>>(){}.getType(); 
List<String> personList = new Gson().fromJson(json, listType);

Type playerType = new TypeToken<List<Player>>(){}.getType(); 
List<Player> players = new Gson().fromJson(json.toString(), playerType);

我收到以下错误:

threadid=1: thread exiting with uncaught exception
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{...}:java.lang.NullPointerException

我有一个 Player 类/bean,可以保存 id、用户名、telnr、创建的、电子邮件和代码属性。我希望有人能给我提供一个可以处理这个 JSON 字符串的 GSON 代码示例。谢谢。

最佳答案

JSON 对象中的属性名称(上面的“19”和“17”)必须是有效的 Javascript 标识符。它们只能包含字母、数字、下划线和美元符号,但它们不能以数字开头。您必须分配不同的键或完全删除这些键才能形成 Javascript 数组。

$values = array_values($arrayWithKeys);

关于java - 如何使用 GSON 反序列化 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098030/

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