Kotlin,将映射解析为JSON
我很难将Kotlin映射转换为JSON对象,我接管的项目使用JSON对象Kotlin,将映射解析为JSON,json,kotlin,jira,Json,Kotlin,Jira,我很难将Kotlin映射转换为JSON对象,我接管的项目使用JSON对象 javax.ws.rs.client.Entitylibrary,用于将kotlin映射转换为JSON实体,通过Jira rest api与Jira服务器对话,并最终打开新问题。 问题是,我从服务器返回了一个400错误请求,当我打印出实体时,它不是JSON格式,我使用的代码是: val fields = jiraConfig.fields .plus(Pair("summary&q
javax.ws.rs.client.Entity
library,用于将kotlin映射转换为JSON实体,通过Jira rest api与Jira服务器对话,并最终打开新问题。问题是,我从服务器返回了一个
400错误请求
,当我打印出实体时,它不是JSON格式,我使用的代码是:
val fields = jiraConfig.fields
.plus(Pair("summary", summary))
.plus(Pair("description", description))
.plus(Pair("project", mapOf("key" to key)))
.plus(Pair("reporter", mapOf("name" to username)))
.map { Pair(it.id, it.value) }
.toMap()
val payload = mapOf("fields" to fields)
val jsonPayload = Entity.json(payload)
println(jsonPayload)
val response = target
.path("rest/api/2/issue")
.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.json(jsonPayload ))
因此,当我打印出jsonPayload变量时,它不会显示为JSON格式:
Entity{entity={fields={components=[{id=ACOMPONENT}], FIELD=FIELDVALUE, ANOTHERFIELD={value=AVALUE}, issuetype={name=ANISSUETYPE}, labels=[ALABEL], summary=ASUMMARY, description=project={key=AKEY}, reporter={name=ANAME}}}, variant=Variant[mediaType=application/json, language=null, encoding=null], annotations=[]}
这显然不是JSON格式,这可能是Jira不阅读它的原因。我做错什么了吗?我应该使用其他方法使用
javax.ws.rs.client.Entity
?当我尝试使用带有硬编码JSON的curl创建Jira API问题时,效果很好:
{
"fields": {
"project": {
"key": "AKEY"
},
"summary": "A SUMMARY",
"description": "A DESCRIPTION",
"reporter": {
"name": "ANAME"
},
"issuetype": {
"name": "ANISSUETYPE"
}
}
}
干杯