Skip to content

JsonStream fails to serialize a map with integer keys #154

@anti43

Description

@anti43
JsonStream.serialize([1111:222,555:888])
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
	at com.jsoniter.output.ReflectionMapEncoder.writeEntry(ReflectionMapEncoder.java:62)
	at com.jsoniter.output.ReflectionMapEncoder.encode(ReflectionMapEncoder.java:46)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:348)
	at com.jsoniter.output.CodegenImplNative$1$18.encode(CodegenImplNative.java:230)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:357)
	at com.jsoniter.output.ReflectionMapEncoder.writeEntry(ReflectionMapEncoder.java:66)
	at com.jsoniter.output.ReflectionMapEncoder.encode(ReflectionMapEncoder.java:49)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:367)
	at com.jsoniter.output.JsonStream.serialize(JsonStream.java:476)
	at com.jsoniter.output.JsonStream.serialize(JsonStream.java:456)
	at com.jsoniter.output.JsonStream$serialize.call(Unknown Source)

because there is a String cast, which should be a String.valueOf() because only in JSON a key must be a String.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions