android - 无法在 Kotlin 中的 JSONStringer 类上调用 object() 方法
问题描述
我正在使用org.json.JSONStringer类为我的 Android 应用程序生成 JSON 字符串。
fun createJSONString(stringer:JSONStringer) {
stringer.object()
//write some stuff
stringer.endObject()
}
但是,我不能调用object()
这个类的方法来创建一个新的 JSON 对象,因为object
它是一个 kotlin 属性。因此,Android Studio 告诉我对象不允许使用构造函数。我能做些什么来强制 Android Studio 使用 JSONStringer 的object()
方法?
解决方案
为什么不使用JSONObject
类来代替 JSONObject 的示例:
val jsonStr = "{\"age\":33,\"messages\":[\"msg 1\",\"msg 2\"],\"name\":\"jim\"}"
val jObj = JSONObject(jsonStr)
val str = jObj.toString()
由于JSONStringer
只是 and 的一个实现,JSONObject#toString
因此JSONArray#toString
也不鼓励使用此 API,如下所述:
实现 JSONObject#toString 和 JSONArray#toString。大多数应用程序开发人员应该直接使用这些方法而忽略此 API
这是一个很好的教程:Json parser
作为替代方案,您可以使用 JSON 序列化/反序列化库,如 GSON 或 Jackson
推荐阅读
- git - 尝试推送到 Git 存储库时出现 403 错误
- xquery - 如何动态使用 xdmp:value?
- python - 如何修复可能包含负数的列表的错误
- javascript - 从 Vue.js 中的父对象访问组件数据结构
- java - 通过 android studio 中的电子邮件从远程用户获取崩溃报告
- git - 需要一个本地分支以在 git 中获取其他代码
- java - Flutter如何自动从页面导航到另一个页面
- javascript - 如何在没有捆绑器的情况下在 Nw.js 项目中使用 Vue.js?
- ios - 无法在 Xcode Objective-c 中将按钮连接到 wkwebview
- c - 使用 NULL 指针初始化数组并引发 GCC 抛出错误