我创建了一个手动json对象,并对其中一个字段使用转义字符。每当我打印jsonobject时,我都会看到转义字符串,有没有办法删除它们?我只是担心当我通过服务器发送json对象时,客户端会得到带有转义字符串的json对象。
String car_parameters = "{\"property_name\":\"car_id\",\"traceKey\":\"account_id,accountName,car_id\"}";
System.out.println("car params"+car_parameters);
JSONObject jsonObject = new JSONObject();
jsonObject.put("message", car_parameters);
System.out.println("one"+jsonObject);
System.out.println("two"+payload);
这些分别是输出,我试着将json对象转换成字符串,但没有什么区别,我希望看到json对象的字段没有转义符,就像我只打印字符串一样。
car params{"property_name":"car_id","traceKey":"account_id,accountName,car_id"}
one{"message":"{\"property_name\":\"car_id\",\"traceKey\":\"account_id,accountName,car_id\"}"}
two{"message":"{\"property_name\":\"car_id\",\"traceKey\":\"account_id,accountName,car_id\"}"}
2条答案
按热度按时间lrl1mhuk1#
转义字符是由java语法引起的。java不允许
自动转换。
可以将其转换为对象,如下所示
输出:
另外:如果发送给客户端,它也会是{“message”:“{property\uname”:“car\uid”,“tracekey”:“account\uid,accountname,car\uid”}
\它将成为字符串的一部分,因此前端需要处理它,但是java中的传输不会影响使用。
wxclj1h52#
你能做到的。请考虑您需要什么工件。(我最喜欢的是objectmapper。)
如果您需要从字符串生成,它很简单。
也许有很多苛刻的方式,但我认为现在没有必要了。
请记住,第一个示例需要新的工件,如下所示
pom.xml
```}
car params{"property_name":"car_id","traceKey":"account_id,accountName,car_id"}
One{"traceKey":"account_id,accountName,car_id","property_name":"car_id"}
Two{"traceKey":"account_id,accountName,car_id","property_name":"car_id"}
Three{"message":"{traceKey=account_id,accountName,car_id, property_name=car_id}"}