我试图将Kotlin序列化(Kotlin 1.7.2,kotlinx.serialization 1.4.1)用于实现密封接口的值类:
@Serializable
sealed interface Power {
val value: Int
}
@Serializable
@JvmInline
value class PowerWatt(override val value: Int) : Power
@Serializable
@JvmInline
value class PowerHp(override val value: Int) : Power
当尝试序列化到Json时
我使用密封类来处理api响应。我正在尝试一些代码,但得到了一些序列化错误。我也尝试过这个,但它不起作用。你们能帮我解决这个问题吗。我是序列化领域的新手。
import kotlinx.serialization.Serializable
sealed class ApiResponse<out T : Any> {
data class Success<out T : Any>(
val data: T?
) : ApiResponse<T>()
data class Error(
val exc
我目前正在Kotlin中实现一个,当在JVM上构建/运行时,一切都运行得很好(标签标记正确,程序在标注句子时是合理的、快速的)。但是,当我将程序导出到JS时,会收到以下错误消息:
TypeError: tags.iterator is not a function. (In 'tags.iterator()', 'tags.iterator' is undefined)
Trigram — Trigram.kt:13
Globaler Code
evaluateWithScopeExtension
(anonyme Funktion)
_wrapCall
我试过
我有一个泛型类class MyClass<T> : MyInterface<T>,我想将一个json反序列化为泛型类型T。我尝试使用杰克逊和kotlinx.serialization库来反序列化json,但是我得到了以下错误
cannot use T as reified type parameter. Use class instead。
我对发生这种情况的理解是因为Jackson和kotlinx反序列化函数都期望得到具体化的T,但是在我的类中,无法在编译时知道T的类型。我对这个错误的理解正确吗?有办法解决这个错误吗?
我的代码片段
class MyClass<
使用kotlinx.serialization时,这段代码将引发一个错误:println(Json.encodeToString(Path.of("value")))说kotlinx.serialization.SerializationException: Class 'WindowsPath' is not registered for polymorphic serialization in the scope of 'Path'.
WindowsPath是内部的,因此我不能将它注册为多态子类(就像在中那样),只使用Path本身,甚至用于P
在迭代器中替换字符串时出现并发异常。 fun replaceValuesInURLString(allFieldsValues: HashMap<String, UserSelectedData>, urlString: String): String {
var result = urlString
val iteratorValues = allFieldsValues.iterator()
while(iteratorValues.hasNext()){
val fieldValue = iterato
我试图发送int响应,但得到了一个错误,但是当我将两者用作字符串时,响应就成功了。
post("/employee") {
call.respond(mapOf("hey" to "Hey","if" to 1))
}
LOGCAT
java.lang.IllegalStateException: Serializing collections of different element types is not yet supported. Selected serializers: [kotlin.St
我读了不少关于图书馆的文章,但发现它们是如何工作的仍然是个谜。
我想使用Kotlin序列化库,但是在查看了我需要做的事情之后,在编译时仍然会出现错误。Json.encodeToString和Json.decodeToString显示出红色。
任何人都能指出我做错了什么。谢谢。(知道的太多了)
下面是我在梯度中所拥有的
在应用程序级别上我有
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlinx-serialization'
}
de
我正在尝试做一些“自定义的轻量级”JSF组件绑定。在我的bean (控制一些JSF页面)中,我声明了一个HahsMap,其中我的h:inputText is (出现在页面中)上的键将这些is映射到自定义HInputText<T>对象(下面给出的示例中的T是长的)。然后我使用HInputText<T>对象来保存相应的h:inputText属性的子集:value应该是T、rendered、required等类型。在这个方向上,来自HInputText<T>对象的字段为h:inputText属性赋值。
我的问题是,当在h:form中使用这样的h:inputText
在反序列化过程之前,Ktor中是否有更改json的内容?在下面的示例中,有一个带有动态键的json,其中我需要删除“令牌”键,因为它是字符串类型,而不是对象类型作为其他键。当我修改代码时,我会得到以下错误:
Exception in thread "main" kotlinx.serialization.json.internal.JsonDecodingException: Expected class kotlinx.serialization.json.JsonObject as the serialized body of shell.remoting.Market,
我正在开发一个Web,其中GET方法需要返回一个对象,该对象的变量将根据一个XML文件来决定。根据客户端的请求,返回的格式必须是XML或JSON。我希望将XML文件中的数据以XML格式返回给客户端,并在请求JSON时为JSON提供一些合理的信息。
XML中的节点可能会增加或减少,因此I不能在模型中定义固定的类。我目前的解决方案是返回一个动态对象,但是下面显示了一个异常。我能做些什么来避免这种例外呢?
GET Api
[AllowAnonymous]
public class DataController : ApiController
{
//GET api/----bas
我从服务器上得到了一些可观察的数据。此数据仅存储在DocGroup对象的公共字段中。
export class DocGroup extends Selectable {
public uuid;
public name;
public set_uuid;
public order;
public strings;
}
我需要这个对象有一些额外的功能,因此它扩展了名为Selectable的类,这允许选择我的对象进行进一步的处理。
export class Selectable {
public readonly isSelectable = true;
publi
给定的 private Map<String, ZonedDateTime> timePoints = new HashMap<>(); 如何提示spring-data字段的类型? 当直接放在字典上时,如果键和值是日期字符串,转换器会尝试将它们一起解析。 @Field(FieldType.Date)
private Map<String, ZonedDateTime> timePoints = new HashMap<>(); 如果未提供字段类型,则会出现以下错误: Type .. of property .. is a TemporalAcc
我有三个不同联系人类型的不同列表,我需要将它们序列化为单个文件,然后在需要时检索这些列表(反序列化)。我曾考虑过使用hashmap,但我不熟悉,而且我确定如何完整地检索列表。任何想法都是值得感谢的。 我不确定是否可以只在hashmap中使用对象类型。这是我能够将所有三个列表添加到hashmap的唯一方法。此外,我还需要知道从hashmap中检索这些列表的正确方法,如果这是最好的方法。 public class Controller()
{
// the list objects I need to serialize
List<FamilyContact> fri
我正在做一个Kotlin多平台项目,在保存数据库实体对象时遇到了一个问题。当我调用sqldelight dao类的insert方法时,抛出异常 kotlinx.serialization.SerializationException: Serializer for class 'UnitEntity' is not found.
Mark the class as @Serializable or provide the serializer explicitly.
at kotlinx.serialization.internal.Platform_commonKt
我最近开始使用,并希望使用它附带的。然而,有一件事我不理解,而且在文档中找不到。
据我所知,现在存在以下情况:
ConfigureForNodaTime()
// Disable automatic conversion of anything that looks like a date and time to BCL types.
settings.DateParseHandling = DateParseHandling.None;
converters.Add(NodaConverters.InstantConverter);
converters.Ad
我在编译也是泛型的序列化数据类时遇到了问题。我对Android和Kotlin非常陌生,但我是一个经验丰富的iOS/Swift开发人员(不要对我持反对态度)。
我试图围绕一个GraphQL响应设置一个泛型数据类包装器,它可以返回数据字段中的T泛型,或者在错误字段中返回一个错误。
import kotlinx.serialization.Serializable
@Serializable
data class GraphQLResponse<T:Serializable> (
val errors : List<ErrorResponse>? = null,
使用Android Studio中的kotlin插件1.3.10,当我试图将一个简单类的对象字符串化为JSON时,它无法编译:
此声明是实验性的,其用法必须标记为'@kotlinx.serialization.ImplicitReflectionSerializer‘或'@UseExperimental(kotlinx.serialization.ImplicitReflectionSerializer::class)’
@Serializable data class Data(val a: Int, val b: Int)
val data = Data(1, 2)
val
目前我只能得到error decoding response body: expected value at line 1 column 1的错误信息。
显然,错误的原因是httpbin.org返回了HTML。我想知道如何才能将HTML返回给客户端。
use actix_web::{get, App, Error, HttpResponse, HttpServer};
use reqwest;
use std::collections::HashMap;
#[get("/")]
async fn index() -> Result<HttpResponse, Er