Tag: json

如何在Kotlin中解析JSON?

我从一个服务接收到一个相当深的JSON对象字符串,我必须解析到一个JSON对象,然后将其映射到类。 如何将JSON字符串转换为Kotlin中的对象? 之后,映射到相应的类,我使用杰克逊的StdDeserializer。 问题出现在对象具有也必须被反序列化为类的属性的时刻。 我无法得到对象映射器,至少我不知道如何,在另一个反序列化器内。 在此先感谢您的帮助。 最好,本地,我试图减少我需要的依赖关系的数量,所以如果答案只是对JSON的操纵和分析它就够了。

无法使用Kotlin将主体发布到Spark REST API

我试图按照这个Spark教程来使用Kotlin创建一个REST API ,而我正努力在JSON主体上发布数据 我想将这些数据发布到正文中,如下所示: curl -H "Content-Type: application/json" -X POST -d '{"token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vdHJ1c3R5YXBwLmNvbS8iLCJzdWIiOiJ1c2Vycy8xMzAwODE5MzgwIiwiZXhwIjoxNDg5OTgwNTI2fQ.5ZJG9GyhG-OCXg0C510MBFs9EQHdE909s4hpNxnM6LU"}' http://localhost:4567/tokens 但是,这将在我的Kotlin文件第20行中得到一个空值 /** * REST API for getting tokens * Created by juanma on 15/3/17. */ import spark.Spark.get import spark.Spark.post import spark.Spark.* import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper fun main(args: Array<String>) { get("/hello") { req, res -> "Hello World" } path("/tokens") { get("") { req, […]

如何处理Kotlin中的空白参数?

在Java中,我们可以做以下 class A{ int id; String name; public A(){} public A(int id, String name){ this.id = id; this.name = name; } // getter/ setter } 那么我可以创建一个新的对象,并得到如下的JSON A a= new A() a.setName("test") System.out.println(new Gson().toJson(a)) 这给了我结果 {"name":"test"} 在kotlin我怎么能实现这个? 我面临的问题是kotlin说原始类型已被初始化。 所以在json中,我得到了id和name ; 我不想要 那么如何做到这一点?

Kotlin klaxon解析Google方向Api

对不起,我的英文(谷歌翻译)。 我试图用klaxon( https://github.com/cbeust/klaxon )在Kotlin上从google的方向得到两点之间的距离。 fun distanceDier (start: LatLng, end: LatLng, mode: String) { val url = ("http://maps.googleapis.com/maps/api/directions/json?" + "origin=" + start.latitude + "," + start.longitude + "&destination=" + end.latitude + "," + end.longitude + "&sensor=false&units=metric&mode=" + mode) val result = URL("$url").readText() val parser: Parser = Parser() val stringBuilder: StringBuilder = StringBuilder(result) val json: JsonObject = […]

json的kotlin klaxon库

我是新来的kotlin,并决定最好的方式来学习的东西是开始使用它(所以问题更多的语言,而不是对克拉松库)。 我试图理解从glax页面( https://github.com/cbeust/klaxon )的第一个片段。 这里是: fun parse(name: String) : Any? { val cls = Parser::class.java return cls.getResourceAsStream(name)?.let { inputStream -> return Parser().parse(inputStream) } } 我不明白为什么在第一种情况下,我们做 分析器:: class.java 然后调用getResource …但是然后调用 分析器()。解析 在第二种情况下。 有什么区别,为什么这样 PS对不起,英文=)

如何将JSON字符串映射到Kotlin Map

我有一个简单的Kotlin程序访问一个Mongo数据库并生成一个JSON字符串,如下所示: "{ "_id" : { "$oid" : "593440eb7fa580d99d1abe85"} , "name" : "Firstname Secondname" , "reg_number" : "ATC/DCM/1016/230" , "oral" : 11 , "oral_percent" : 73 , "cat_1" : 57 , "cat_2" : 60 , "cat_average" : 59 , "assignment" : 90 }" 我如何将这个映射到Kotlin Map / MutableMap? Kotlin中是否有API读取JSON并将其映射到Map / MutableMap?

Java / Kotlin JSON解析改进

我使用了一个API,它给了我这种类型的JSON: { "data": { "name": "Start", "pid": "1", "position": { "data": { "x": "31", "y": "330" }, "metadata": "empty" } }, "metadata": "empty" } 我已经创建了与上面的JSON具有相同结构的对象的类。 我使用Android中的GSON库,里面使用GSON来解析JSON。 我的模型类将是这样的: MResponse.class public class MResponse { @SerializedName("data") public User user; String metadata; } User.class public class User { public String name; public String pid; @SerializedName("position") public PositionData positionData; } […]

将JSONArray投射到Iterable <JSONObject> – Kotlin

我在Kotlin中使用Json-Simple 。 在这种情况下, val jsonObjectIterable = jsonArray as Iterable<JSONObject> 变得危险? jsonArray是一个JSONArray对象。

json在kotlin应用程序中的异常

我正在尝试读取kotlin应用程序中的JSON文件。 我可以阅读JSON,但有一个错误,它不填充数组。 当它显示异常时,我可以看到json结果。 这里是代码: fun read(){ val stringRequest = StringRequest(Request.Method.POST, URL, Response.Listener<String>{s -> try { val obj = JSONObject(s) if(!obj.getBoolean("error")){ val array = obj.getJSONArray("friend") for(i in 0..array.length()-1){ val objectFriend = array.getJSONObject(i) val friend = Friend(objectFriend.getString("name"), objectFriend.getString("surname")) listaPersonas.add(friend) } } }catch (e: JSONException){ e.printStackTrace() } },Response.ErrorListener { error: VolleyError? -> Log.e("error", "error") }) val requesQueue = […]

Kotlin Gson自定义解串器列表

如何在Gson注册自定义的Json解串器? 当我在java代码注册反序列化所有工作正常,但是当我把Kotlin转换为Java – 反序列化方法不叫。 Kotlin注册码: val listType: Type = object : TypeToken<List<Advert>>() {}.type val gson = GsonBuilder() .registerTypeAdapter(listType, deserializer) val retrofit = Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create(gson)) Java代码: Type listType = new TypeToken<List<Advert>>() {}.getType(); Gson gson = new GsonBuilder() .registerTypeAdapter(listType, deserializer) Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create(gson)) 反序列化器声明: class AdvertsDeserializer : JsonDeserializer<List<Advert>> { override fun deserialize(json: JsonElement?, typeOfT: […]