我正在从服务调用的方法返回如下所示的字符串,当我在Postman中调用此服务时,它返回错误的字符串。
@Override
public synchronized String doDevicePair() throws SomeException
{
String returnString = null;
/*some logic over here*/
returnString = "{\"success\": true, \"payload\": \"success!\", "
+ "{\"userIdA\":\""+user1.getUserId()+"\", \"userIdB\":\""+user2.getUserId()+"\", \"tagName\":\""+tagName+"\" }"+"}";
return returnString;
}
我认为它因为返回String的语法错误而给出Bad String响应。 所以我试过
returnString = "{\"success\": true, \"payload\": \"success!\", "
+ "{\"userIdA\":\""+user1.getUserId()+"\", \"userIdB\":\""+user2.getUserId()+"\", \"tagName\":\""+tagName+"\" }}";
//给出错误的字符串响应
所以我只是通过返回硬编码字符串来检查
returnString = "{\"success\": true, \"payload\": \"succes\" }";
这会在服务调用时产生json响应,没有任何错误
出了什么问题?请帮帮我
答案 0 :(得分:1)
您缺少内部对象的字符串名称。也许它应该是:
returnString =
"{\"success\": true, \"payload\": \"success!\", \"foo\": " // <-- missing property name
+ "{\"userIdA\":\"" + user1.getUserId()
+ "\", \"userIdB\":\"" + user2.getUserId()
+ "\", \"tagName\":\"" + tagName + "\" }"
+ "}";
答案 1 :(得分:1)
我认为当你使用JSON对象时,最好先在某些网站上检查格式。这里有很多很好的网站。 JSON ONLINE EDITOR。此外,您最好使用JSON Simple之类的JSON库来使用JSON字符串。
答案 2 :(得分:0)
我在帖子中也遇到了同样的错误,但现在已解决。您可以运行一种方法,在json中获取响应,然后对发布正文数据使用相同的响应。