Java转义JSON字符串? [英] Java escape JSON String?

查看:549
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆