【发布时间】:2020-11-16 13:13:12
【问题描述】:
我有下面的json字符串我想转换为对象
{"Init":{"MOP":[{"Id":"1","Type":"0","ProtocolVersion":"1.0","MopCode":"*NEXB","TerminalId":"P400Plus-275008565","IP":"10.0.0.0:900","Currency":"EUR"},{"Id":"2","Type":"0","ProtocolVersion":"1.0","MopCode":"*NEXF","TerminalId":"P400Plus-275008565","IP":"10.0.0.0:901","Currency":"EUR"}]}}
我的 json 是有效的,我在 here 上尝试过,我也在 here 上创建了 POJO 类,但我得到了 com.google.gson.stream.MalformedJsonException
这是我的代码
val receiveString = "{"Init":{"MOP":[{"Id":"1","Type":"0","ProtocolVersion":"1.0","MopCode":"*NEXB","TerminalId":"P400Plus-275008565","IP":"10.0.0.0:900","Currency":"EUR"},{"Id":"2","Type":"0","ProtocolVersion":"1.0","MopCode":"*NEXF","TerminalId":"P400Plus-275008565","IP":"10.0.0.0:901","Currency":"EUR"}]}}"
val root = gson.fromJson(receiveString,TestClass.Root::class.java) //getting error here
这是我的 POJO 类
class Root {
@JsonProperty("Init")
var init: Init? = null
}
class MOP {
@JsonProperty("Id")
var id: String? = null
@JsonProperty("Type")
var type: String? = null
@JsonProperty("ProtocolVersion")
var protocolVersion: String? = null
@JsonProperty("MopCode")
var mopCode: String? = null
@JsonProperty("TerminalId")
var terminalId: String? = null
@JsonProperty("IP")
var ip: String? = null
@JsonProperty("Currency")
var currency: String? = null
}
class Init {
@JsonProperty("MOP")
var mop: List<MOP>? = null
}
你能给我什么建议?
【问题讨论】:
-
你是在声明
receiveString而不转义每个"吗? -
@LorenzoZane 是的 json 是有效的