Android:将 Parcelable 转换为 JSON

2024-01-08

我正在使用 socket.io 库,它向 socket.io 服务器发送消息。服务器需要 JSON 对象、数组等。我最初的实现使用 JSONOject 和 JSONArray 数据类型。但是,我想切换到使用通过生成的类Parceler https://github.com/johncarl81/parceler图书馆。使用库注释生成的类可以包装到 Parcel 中。这似乎是管理此类通信的一种非常方便的方式。但是,有没有办法将 Parceler 的类或 Parcel 类转换为 JSON 字符串或 JSONObject/Array?

GSON 库支持toJson方法,我知道 Retrofit 对 Parcels、JSON 和 GSON 有一些神奇的作用。


我想这会对你有帮助

例如,创建一个带有 getters 和 setters 方法的类

class A
{
int b;
void setb(int x){this.b = x;}
int getb(){return this.b}
}

您可以从此类的对象创建 json:

new Gson().toJson(a)

或者来自 json 的对象:

a = new Gson().fromJson(data, A.class);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:将 Parcelable 转换为 JSON 的相关文章

随机推荐

  • 全屏 UIView,状态栏和导航栏覆盖在顶部

    实现 UIView 顶部的状态栏和导航栏的正确方法是什么 替代文本 http img skitch com 20081217 t78sdixk37hqgdh1ia2fgec4st png http img skitch com 200812
  • IValidatableObject 对于 EF 导航属性没有用?

    仅当实现实体 DbEntityEntry State 不同于 Unchanged 时 才会调用 IValidatableObject Validate 仅更改导航属性不会更改状态 因此永远不会发生验证 为什么微软总是发布半生不熟的测试版东西
  • 多媒体内容的处理程序 (MIME) 不起作用

    我正在与一个在页面中呈现多媒体内容的处理程序合作 这个想法是 该处理程序访问文件并使用扩展名确定类型 然后将其呈现problem是大多数时候处理程序本身被下载并且不提供多媒体 这是代码 FileInfo file new FileInfo
  • 如何更改树莓派的屏幕分辨率[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Raspberry pi 上使用 7 TFT LCD 显示屏 谁能告诉我如何更改 Raspberry Pi 的屏幕分辨率以及 7 T
  • 在 CXF JAX-WS 单向方法调用中获取客户端 IP 地址的可靠方法

    我使用以下代码来获取 JAX WS 单向方法调用的客户端 IP 地址 protected HttpServletRequest getServletRequest MessageContext ctx wsContext getMessag
  • AttributeError:“dict”对象没有属性“drop_duplicates”

    运行此代码时 我收到 AttributeError dict object has no attribute drop duplicates 有什么想法如何解决这个问题吗 第一个模块接口 py import tkinter as tk fr
  • Tkinter - 如何改进“grab_set()”方法行为?

    我编写了一个简单的代码 其中有一个带有两个按钮的主窗口 第一个打开一个新窗口 第二个打开一个消息框 当我打开消息框窗口时 我无法以任何方式与主窗口进行文字交互 如果我单击它 系统铃声会响起并且消息框会闪烁 我想在另一个窗口复制相同的行为 但
  • 在英国的 iPhone 上查看时,从 SSRS 呈现的 Excel 丢失货币符号

    我们的报告动态地格式化货币 因此 在结果集中有一列名为CurrencyFormatString 这通过 FORMAT FieldName CurrencyFormatString 应用于适当的字段 一切似乎都工作正常 直到将报告呈现为 Ex
  • 对矩阵列表求和[重复]

    这个问题在这里已经有答案了 我有一个列表 其中每个元素都是 5 5 矩阵 例如 1 V1 V2 V3 V4 V5 1 0 000000 46 973700 21 453500 338 547000 10 401600 2 43 020500
  • 从谷歌地图 api json 获取 formatted_address

    我想从 json 数组中获取 formatted adress 一个示例链接可以是http maps googleapis com maps api geocode json latlng 55 397563 http maps googl
  • OS X 10.9 Beta 6 上禁用 Eclipse 菜单

    今天我像往常一样打开了日食 但我无法做任何事情 除首选项外的所有菜单均呈灰色 禁用 我使用的是 Mac Mavericks Beta 6 和 Eclipse Kepler 你有什么提示给我吗 重启Eclipse或者整个mac都没有解决问题
  • 用于 beta 测试的 Ad Hoc 发行版 xcode 4.3

    遵循来自的精彩教程后http www raywenderlich com http www raywenderlich com 关于如何将您的应用程序提交到应用程序商店 我从一开始就开始计划我的 Beta 测试计划 我不会详细介绍一切顺利的
  • 模板不会推断 C++ 中零长度数组的大小

    假设我有一个模板函数 它可以推断数组参数的长度 template
  • 当应用程序安装在 SD 卡上时,BroadcastReceiver 不工作

    我正在创建一个 EventsManager 应用程序 其中有一个 BroadcastReciver 它执行 BOOT COMPLETED 广播 此接收器已用于使用 AlarmManager 重新注册所有事件 如果该应用程序安装在手机内存上
  • 对多个 github 项目使用相同的部署密钥

    Github 不允许同一个 ssh 部署密钥用于多个项目 这在某些情况下非常有用 例如 CI 服务器处理具有私有子模块的项目 我已经看到各种线程似乎都说这种限制是出于 安全原因 而存在 但我还没有看到关于这到底会带来什么风险的令人信服的解释
  • 线程(在 Java 或 C++ 程序中)与 CPU 核心数之间有什么关系?

    有人可以解释一下吗 i7 处理器可以运行 8 个线程 但我很确定我们可以在 JAVA 或 C 程序中创建超过 8 个线程 但不确定 我有一个 i5 处理器 在研究并发性时我创建了 10 个线程用于分配 我只是想了解 CPU 的核心评级与线程
  • 在cocoa中读取、修改、写入xml文件

    我正在寻找一个关于如何使用 cocoa 读取 修改一个值和编写 xml 文件的简短示例 教程 我发现的一切都是simple https stackoverflow com questions 5274513 cocoa obj c simp
  • timeit.timeit 方法的装饰器?

    我正在尝试编写一个简单的时间装饰器来测量函数所花费的时间 然而 下面的代码给出了我们的递归错误 它出什么问题了 import timeit def measure func def wrapper func name func name s
  • MATLAB 查找函数并将其应用于重复索引的值

    我有一个 352x11 矩阵 按第 1 列索引 有 10 个数据点 一些索引值是重复的 我想找到重复的索引并计算重复试验的平均数据点 如果可能 避免循环 例如 x 26 77 5700 17 9735 32 7200 27 40 5887
  • Android:将 Parcelable 转换为 JSON

    我正在使用 socket io 库 它向 socket io 服务器发送消息 服务器需要 JSON 对象 数组等 我最初的实现使用 JSONOject 和 JSONArray 数据类型 但是 我想切换到使用通过生成的类Parceler ht