내 예제 코드는 다음과 같습니다 :kotlin JS에서 JSON.stringify를 통해 JSON 문자열에 대한 맵을 직렬화하는 방법?
는fun main(args: Array<String>) {
val testData = mapOf<String, Any>(
"name" to "albert",
"age" to 26,
"work" to listOf("1", "2", "3")
)
var value = JSON.stringify(testData, { _, value -> value.toString() }, 2)
println(value)
}
결과는 "{name=albert, age=26, work=[1, 2, 3]}"
입니다. 속성 이름과 문자열 값을 둘러싼 큰 따옴표가 모두 누락 된 것으로 보입니다.
나는 그럼, 어떻게이 문제를 해결하기 위해 KotlinJS
오히려
Kotlin
보다 사용 해요?
내가 코 틀린 함께 시간을 연주하고 ... 난 잘 해요,하지만 실제로 100 % 확인 : 귀하의 예는 다음과 같은 방법을 쓸 수있다 이 코드가하는 일은 java'Map.toString()'을 호출 한 다음이 값을 js'JSON.stringify'에 제공하므로' "{name = albert, age = 26, work = [1, 2, 3]} "'는 json이 아니지만 map.toString()과'JSON.stringify'는이 문자열 주위에 따옴표를 추가합니다. 당신이 할 수있는 일은 java의 jackson이나 gson으로 테스트 데이터를 변환하고 JSON을 잊어 버리거나 https://github.com/Kotlin/kotlinx.serialization을 시도해 볼 수 있습니다. 또한 https : //discuss.kotlinlang을 살펴보십시오. org/t/kotlin-serialization/2063/25 – varren
@varren 도움을 주셔서 대단히 감사합니다. 그것은 완전한 KotinJS 환경이므로 JVM 세계에서 이점을 얻을 수는 없습니다 :(println (JSON.stringify (testData.toString()))'을 시도했지만 여전히 인용 부호가 없습니다. 공유하는 게시물에 따르면, serialization에서 일은 KotlinJS 세계에 아직 도착하지 않았다. 내가 말했던 것처럼 제 3 자 라이브러리를 조사 할 것이다. –