Java转义JSON字符串?
我有以下要发送到NodeJS服务器的JSON字符串:
String string = "{\"id\":\"" + userID + "\",\"type\":\"" + methoden + "\",\"msg\":\"" + msget + "\", \"name\":\"" + namnet + "\", \"channel\":\"" + activeChatChannel + "\", \"visitorNick\":\"\", \"agentID\":\" " + agentID + "\"}";PrintWriter pw = new PrintWriter(new OutputStreamWriter(os, "utf-8"));
pw.println(string);
当字符串msget
包含字符"
和'
在NodeJS服务器上,我正在像这样解析JSON:
var obj = JSON.parse(message);
有什么想法我可以设法毫无问题地发送所有字符吗?
回答:
我会使用一个库来String
为您创建JSON 。一些选项是:
- GSON
- 克罗福德的解放
这将使转义变得更加容易。一个示例(使用org.json
)为:
JSONObject obj = new JSONObject();obj.put("id", userID);
obj.put("type", methoden);
obj.put("msg", msget);
// etc.
final String json = obj.toString(); // <-- JSON string
以上是 Java转义JSON字符串? 的全部内容, 来源链接: utcz.com/qa/410582.html