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);
すべての文字を問題なく送信するにはどうすればいいでしょうか?
ベストアンサー1
ライブラリを使用して JSON を作成しますString
。いくつかのオプションは次のとおりです。
これにより、エスケープ処理がはるかに簡単になります。例 ( を使用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