Java转义JSON字符串? [英] Java escape JSON String?
本文介绍了Java转义JSON字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下发送到NodeJS服务器的JSON字符串:
I have the following JSON string that i am sending to a NodeJS server:
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
包含时,问题就出现了字符和
'
The problem becomes when the string msget
contains the character "
and '
在NodeJS服务器上我正在解析这样的JSON:
On the NodeJS server i am parsing the JSON like this:
var obj = JSON.parse(message);
我有什么想法可以设置发送所有字符而不会出现问题?
Any ideas how i can manage to send all characters without problems?
推荐答案
我会用你的库为你创建你的JSON String
。有些选项是:
I would use a library to create your JSON String
for you. Some options are:
- GSON
- Crockford's lib
这将使处理转义变得更加容易。一个例子(使用 org.json
)将是:
This will make dealing with escaping much easier. An example (using org.json
) would be:
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字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文