如何在不遵循解析转换器错误的情况下将结构化JSON转换为字符串以发送到REST API?

问题描述

我正在尝试将以下Json作为字符串发送到REST API:

{ "dataSource" : "","businessPartners": [ { "externalId": "123","names": [ { "value": "CDQ AG","type": { "name": "Local","technicalKey": "LOCAL" } } ],"addresses": [{ "thoroughfares": [{ "value": "Lukasstrasse 4" }],"postCodes": [{ "value": "9008" }],"localities": [{ "value": "St. gallen" }],"country": { "shortName": "CH" } }] }] }

字符串如下:

"{\"dataSource\":\"\",\"businessPartners\":[{\"externalId\":\"123\",\"names\":[{\"value\":\"CDQ AG\",\"type\":{\"name\":\"Local\",\"technicalKey\":\"LOCAL\"}}],\"addresses\":[{\"thoroughfares\":[{\"value\":\"Lukasstrasse 4\"}],\"postCodes\":[{\"value\":\"9008\"}],\"localities\":[{\"value\":\"St. gallen\"}],\"country\":{\"shortName\":\"CH\"}}]}]}" 

我得到json解析错误

代码”:400, “路径”:“%2Fpublic%2Fv4%2Fstorages%2F1586c8fa3a893409ae2c56d53a169bde%2Fbusinesspartners”, “错误”:“错误请求”, “ message”:“ JSON解析错误:无法构造cdq.cdl.hostedbusinesspartner.api.v4.model.BusinessPartnersUpsertRequest的实例(尽管存在至少一个Creator):没有用于从String值反序列化的String-argument构造函数/工厂方法('{” dataSource“:”“, “ businessPartners”:[{“ externalId”:“ 123”,“名称”:[{“ value”:“ CDQ AG”,“ type”:{“ name”:“ Local”,“ technicalKey”:“ LOCAL”} }],“地址”:[{“ thoroughfares”:[{“ value”:“ Lukasstrasse 4”}]],“ postCodes”:[{“ value”:“ 9008”}]],“ localities”:[{“ value “:”圣加仑“}],”国家“:{” shortName“:” CH“}}}}}'));嵌套的异常是com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造以下实例cdq.cdl.hostedbusinesspartner.api.v4.model.BusinessPartnersUpsertRequest(尽管存在至少一个Creator):没有用于从String值反序列化的String参数构造函数/工厂方法('{“ dataSource”:“”,“ businessPartners”:[{“ externalId”:“ 123” ,“名称”:[{“ value”:“ CDQ AG”,“ type”:{“ name”:“ Local”,“ technicalKey”:“ LOCAL”}}}],“地址”:[{“ thoroughfares”: [{“ value”:“ Lukasstrasse 4”}],“ postCodes”:[{“ value”:“ 9008”}],“地区”:[{“ value”:“ St。gallen”}],“国家” :{“ shortN ame“:” CH“}}]}}}}'')\ n在[来源:(pushbackinputstream)行:1,列:1]“

即使我将字符串简化为以下内容,我也会遇到相同的错误

 "{\"dataSource\":\"\",\"businessPartners\":[{\"externalId\":\"123\"}]}" 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)