Fix dollar sign escaping for json key names.

This commit is contained in:
Eric Cochran
2018-07-24 18:03:23 -07:00
parent 78821bbc80
commit 248be5805b
3 changed files with 23 additions and 2 deletions

View File

@@ -303,7 +303,7 @@ internal class AdapterGenerator(
result.addStatement("%N.beginObject()", writerParam)
propertyList.forEach { property ->
result.addStatement("%N.name(%S)", writerParam, property.jsonName)
result.addStatement("%N.name(\"${property.jsonName}\")", writerParam)
result.addStatement("%N.toJson(%N, %N.%L)",
nameAllocator.get(property.delegateKey), writerParam, valueParam, property.name)
}

View File

@@ -128,7 +128,7 @@ internal data class TargetProperty(
private val Element?.jsonName: String?
get() {
if (this == null) return null
return getAnnotation(Json::class.java)?.name
return getAnnotation(Json::class.java)?.name?.replace("$", "\\$")
}
override fun toString() = name