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

回到顶部