Tag: json

如何在Kotlin中手动解析JSON?

我想在Kotlin中手动解析JSON响应。 由于我正在得到复杂的JSON响应,这是有一些共同的领域。 例如,我得到低于答复。 { status: “success/false” apiId: 6 message: “Error msg if any” . . . // Here comes some JSON with complex structure where some fields are . // missing/omitted. Sometime array is missing/response in array is . // getting changed, getting lot of unwanted stuff Or whatever you can . // think. And […]

莫希忽视科特林的领域

在使用Moshi时,我想知道如何忽略Kotlin class字段。 我已经find了Java( Moshi忽略字段 )的这个答案,它表明如下使用关键字transient private transient String your_variable_name; 但是我找不到在Kotlin完成这个工作的正确方法。

使用GSON的Json的Kotlin数据类

我有这样的Java POJO类: class Topic { @SerializedName(“id”) long id; @SerializedName(“name”) String name; } 我有一个Kotlin数据类像这样 data class Topic(val id: Long, val name: String) 如何提供json selector的任何variables的kotlin data class像@SerializedName注释在Javavariables?

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期的BEGIN_ARRAY,但在第1行第2列的路径

我已经从其他相同的问题尝试了许多建议,但没有帮助,我怎样才能成功地运行此测试: @Test fun isJsonCorrectPersonConvert() { val gson = GsonBuilder().create() val json = gson.toJson("[{\"Id\":2,\"Text\":\"Математика\"},{\"Id\":5,\"Text\":\"Физика\"}]") val results = gson.fromJson(json, Array<Person>::class.java) Assert.assertNotNull(results) Assert.assertNotNull(results[0].Id) Assert.assertNotNull(results[0].Text) System.out.println(results.toString()) } data class Person(val Id: Int,val Text:String)

使用GSON的Json的Kotlin数据类

我有一个JSON像这样: "topic": { "id": 3, "name": "Variables declaration", "image": "xxx.xxx.xxx", "description": "Variable declaration is basically booking memory for data being used in program" } 我有一个Kotlin数据类像这样 data class Topic(val id: Long, val name: String, val image: String, val description: String) 但我想不出一种方法来序列化/反序列化data class <-> Json像我们以前用java POJO <-> Json做的java POJO <-> Json使用GSON这样 @SerializedName("id") long id; @SerializedName("name") String name; […]

从JSON文件中获取数据

我有这个JSON文件: [{"Id":"1","name":"Bryan"}] 但我不知道如何在Android中实现这一点。 我试过这个: val url = "url of my website" 那么这个: var json=JSONObject(values[1]) val id = json.getJSONArray("Id") val name = json.getJSONObject("name") var.text = name 但它不起作用。 我想知道错误在哪里。

我如何根据JSON文件的内容动态添加TextView到我的布局?

我是新的android开发。 我有一个JSON文件,其中包含一些对象,如何添加一个新的TextView到我的ScrollView的每个对象在JSON文件? 每个TextView将存储包含在JSON对象中的数据。 我目前知道将视图添加到布局的唯一方法是通过在活动布局XML文件中定义它们,但是这不允许我自动生成它们,我必须手工创建它们并手动定义它们。 谢谢 编辑:链接的副本没有任何答案,但在这里提供了答案。

尝试从字符串创建JSON对象时出现错误“无法转换为JSON”

我在GSON库中使用Koltin语言来创建/解析JSON。 我有以下代表JSON对象的字符串 val jsonString = "{ \"age\": 22, \"height\" : 1.8, \"profession\":\"Student\", \"at_room\": false, \"gender\": \"male\",\"pictures\": []}" 当我尝试将此字符串转换为JSON对象时, val jsonData = JsonParser().parse(jsonString).asJsonObject 我得到以下错误: [] can not be converted to JSON 我猜这个错误是由于pictures是JSONArray而不是原始类型的事实。 无论如何,我想知道如何正确地将此字符串转换为JSON对象。

使用Fuel和Result将字节数组转换为Json

我想使用燃料和结果得到我的响应正文在一个JSON对象。 这是我的回调代码: private fun LoginCallback(result: Result<Any, Exception>?) { mAuthTask = null showProgress(false) val (data, error) = result ?: return (Toast.makeText(applicationContext, R.string.error_wrong, Toast.LENGTH_SHORT).show()) result.success { val dataJson = data as Json val user: SharedPreferences = getSharedPreferences(SAVED_USER_INFOS, 0) val editor = user.edit() editor.putString(SAVED_ACCESS_TOKEN, dataJson.obj().getString(SAVED_ACCESS_TOKEN)) editor.putString(SAVED_TOKEN_LIFETIME, dataJson.obj().getString(SAVED_TOKEN_LIFETIME)) editor.apply() finish() startActivity<MainActivity>() } result.failure { showProgress(false) mPasswordView!!.error = getString(R.string.error_incorrect_password) mPasswordView!!.requestFocus() […]

从JSONArray获取元素时请保留双引号

我正在使用JsonPath从JSON文件中检索一个值。 JSON文件看起来像这样: [ { "username": "John", "password": { "passwordValue": "passwordjohn", "secret_key": "123" } }, { "username": "Nick", "password": { "passwordValue": "XXX", "secret_key": "ZZZ", "other_key": "YYY" } } ] 我正在使用的JsonPath是从特定的用户检索password 。 例: fun getPassword() { val passwords: JSONArray = read(jsonFile, "\$.[?(@.name==\"John\")].password") } 但是,我发现了两个障碍。 首先,我总是返回一个net.minidev.json.JSONArray ,并且追加[0]路径不起作用。 因此,我尝试从JSONArray获取唯一的元素,如下所示: credentials[0] 。 不幸的是,这将删除字段名称中的双引号,导致如下所示: {passwordValue: passwordjohn, secret_key: 123} 这是不可能的。 我正在寻找一种方法来解决这个问题: {"passwordValue": […]