错误-**com.google.gson.stream.格式错误的JSON异常:第1行第26列路径$.[0].STATE”**处的对象未终止
这是我的POST请求。其中Data是对象,id & resource是字符串
第一个Now if i give Space between TORONTO CITY
,它会给予我一个例外com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 26 path $.[0].STATE"
个
但当我发送的请求中没有空格作为键和值时,比如-
"RECORD": [
{
"STATE": "TORONTOCITY"
},
{
"WORK": "SERVICE"
}
]
}
它可以工作但不适用于Space
代码-
public ResponseEntity<MasterBlockChainResponse> dummy(@RequestBody(required=false) Masterpayload valueobject) {
Gson gson = new Gson();
MasterBlockChainResponse response = new MasterBlockChainResponse();
Object json = valueobject.getData();
Map<String, Object> map = gson.fromJson(json.toString(), Map.class);
response.setId(valueobject.getId());
response.setResourceName(valueobject.getResourceName());
response.setData(map);
return ResponseEntity.status(HttpStatus.OK).body(response);
}
2条答案
按热度按时间wf82jlnq1#
嗨这是因为行:
当您使用toString方法时,它不会将对象转换为合法的JSON对象,请尝试使用ObjectMapper。
快速对比差异:
{记录=[{州=多伦多市},{工作=服务}]}
{“记录”:[{“州”:“多伦多市”},{“工作”:“服务”}]}
程式码片段:
rdlzhqv92#
您的对象数据是一个简单对象,因为您需要如下所示的数据进行解析:
所以你的主要类:
而不是Map键-值。这样就不会有任何问题