如何去掉 JSON 键 (java) 中的 \ 字符
How to get rid of \ character inside a JSON key (java)
在你投反对票之前,问题就这样了。我正在为我的客户做一些东西,我必须满足他的要求,即使他们不符合最佳实践。我相信你曾经遇到过这种情况,你理解。
我正在 Eclipse 中填充一个 JSONObject(android 应用程序):
jtappedRow="{"label":"red","key":"3"}";
jactionresult.put("value",jtappedRow);
jactionresult.put( bla bla bla..... )
但是,在 LOG 上打印 jactionresult,如下所示:
Log.e(tag,"TAP THIS TO ENGINE!: "+jactionresult.toString());
我明白了:
TAP THIS TO ENGINE!: {"value":"{\"label\":\"green\",\"key\":\"1\"}","result":"success","action":"displayClickableList"}
如何去掉那些 \ 字符???我需要的结果正是这样的:
TAP THIS TO ENGINE!: {"value":"`{"label":"green","key":"1"}","result":"success","action":"displayClickableList"}`
假设你有你发布的字符串,你可以使用String#replace
:
String res = jsonStr.replace("\\"", "\"");
字符串替换或使用jackson、gson等框架解析
如果您看到反斜杠,则表示它被读取为字符串。使用以下代码将其转换为 JSONObject:
JSONObject jtappedRow = new JSONObject();
jtappedRow.put("label", "red");
jtappedRow.put("key", "3");
jactionresult.put("value",jtappedRow);
jactionresult.put( bla bla bla..... )
或者你可以这样做
jtappedRow={"label":"red","key":"3"};
JSONObject json = new JSONObject(jtappedRow);
jactionresult.put("value", json);
jactionresult.put( bla bla bla..... )
在你投反对票之前,问题就这样了。我正在为我的客户做一些东西,我必须满足他的要求,即使他们不符合最佳实践。我相信你曾经遇到过这种情况,你理解。
我正在 Eclipse 中填充一个 JSONObject(android 应用程序):
jtappedRow="{"label":"red","key":"3"}";
jactionresult.put("value",jtappedRow);
jactionresult.put( bla bla bla..... )
但是,在 LOG 上打印 jactionresult,如下所示:
Log.e(tag,"TAP THIS TO ENGINE!: "+jactionresult.toString());
我明白了:
TAP THIS TO ENGINE!: {"value":"{\"label\":\"green\",\"key\":\"1\"}","result":"success","action":"displayClickableList"}
如何去掉那些 \ 字符???我需要的结果正是这样的:
TAP THIS TO ENGINE!: {"value":"`{"label":"green","key":"1"}","result":"success","action":"displayClickableList"}`
假设你有你发布的字符串,你可以使用String#replace
:
String res = jsonStr.replace("\\"", "\"");
字符串替换或使用jackson、gson等框架解析
如果您看到反斜杠,则表示它被读取为字符串。使用以下代码将其转换为 JSONObject:
JSONObject jtappedRow = new JSONObject();
jtappedRow.put("label", "red");
jtappedRow.put("key", "3");
jactionresult.put("value",jtappedRow);
jactionresult.put( bla bla bla..... )
或者你可以这样做
jtappedRow={"label":"red","key":"3"};
JSONObject json = new JSONObject(jtappedRow);
jactionresult.put("value", json);
jactionresult.put( bla bla bla..... )