如何在将JSON分配给Java字符串时从JSON中转义特殊字符
im字符串将值从json分配到java字符串。但JSON值包含一些特殊字符(“\”)。当我试图将它赋给字符串时,它给出了错误 这是JSON值如何在将JSON分配给Java字符串时从JSON中转义特殊字符,java,json,string,getstring,Java,Json,String,Getstring,im字符串将值从json分配到java字符串。但JSON值包含一些特殊字符(“\”)。当我试图将它赋给字符串时,它给出了错误 这是JSON值 "ValueDate":"\/Date(1440959400000+0530)\/" 这就是我试图使用它的方式 HistoryVO.setValueDate(DataUtil.getDateForUnixDate(historyJson.getString("ValueDate"))); 或 Mac 就像你要求的那样 String ValueDate
"ValueDate":"\/Date(1440959400000+0530)\/"
这就是我试图使用它的方式
HistoryVO.setValueDate(DataUtil.getDateForUnixDate(historyJson.getString("ValueDate")));
或
Mac
就像你要求的那样
String ValueDate = "\/Date(1440959400000+0530)\/";
在java字符串中,上面的一个是不可能的,因为它显示为无效的转义序列,所以将斜杠“\”替换为双斜杠“\”,如下所示
String ValueDate = "\\/Date(1440959400000+0530)\\/";
如果我不清楚我们的问题,请描述清楚
问候,,
哈里
就像你要求的那样
String ValueDate = "\/Date(1440959400000+0530)\/";
在java字符串中,上面的一个是不可能的,因为它显示为无效的转义序列,所以将斜杠“\”替换为双斜杠“\”,如下所示
String ValueDate = "\\/Date(1440959400000+0530)\\/";
如果我不清楚我们的问题,请描述清楚
问候,,
Hari如果您有特定字符,
(
和)
,请使用子字符串
方法获取值
String value = "\\/Date(1440959400000+0530)\\/";
int start = value.indexOf("(");
int last = value.lastIndexOf("0");
value = value.substring(start + 1, last + 1);
System.out.println(value); <--- 1440959400000+0530
DataUtil.getDateForUnixDate(value);
输出
Date(1440959400000+0530)
如果您有特定字符,
(
和)
,请使用子字符串
方法获取值
String value = "\\/Date(1440959400000+0530)\\/";
int start = value.indexOf("(");
int last = value.lastIndexOf("0");
value = value.substring(start + 1, last + 1);
System.out.println(value); <--- 1440959400000+0530
DataUtil.getDateForUnixDate(value);
输出
Date(1440959400000+0530)
鉴于此
我想要。。。要获取[日期](1440959400000+0530)零件
我会用
String value = "/Date(1440959400000+0530)/";
int pos1 = value.indexOf("Date(");
if (pos1 > -1) {
int pos2 = value.indexOf(")", pos1);
if (pos2 > pos1) {
value = value.substring(pos1, pos2 + 1);
System.out.println(value);
}
}
输出为
Date(1440959400000+0530)
注意:这是通过查找“日期(“然后是下一个”)”来实现的,它删除了不在这两种模式之间的所有内容。
我想要。。。要获取[日期](1440959400000+0530)零件
我会用
String value = "/Date(1440959400000+0530)/";
int pos1 = value.indexOf("Date(");
if (pos1 > -1) {
int pos2 = value.indexOf(")", pos1);
if (pos2 > pos1) {
value = value.substring(pos1, pos2 + 1);
System.out.println(value);
}
}
输出为
Date(1440959400000+0530)
注意:这是通过查找“日期(“然后下一个”)”来实现的,它删除了不在这两种模式之间的所有内容。我找到了我自己问题的答案
historyJson.getString("ValueDate");
这将返回类似于/Date(1440959400000+0530)/
现在我可以分了。谢谢大家的帮助
你好,麦克达迪我找到了我自己问题的答案
historyJson.getString("ValueDate");
这将返回类似于/Date(1440959400000+0530)/
现在我可以分了。谢谢大家的帮助
你好,麦克达迪你想摆脱这个特殊角色吗??just Date(1440959400000+0530)DataUtil.getDateForUnixDate(字符串)所期望的字符串格式是什么?是的Rod_Algonquin我只想获取日期(1440959400000+0530)@Elliott我只想得到日期(1440959400000+0530)部分,因为在我的程序中有几种类型的日期格式,我们正在使用。所以你想去掉这个特殊字符??just Date(1440959400000+0530)DataUtil.getDateForUnixDate(字符串)所期望的字符串格式是什么?是的Rod_Algonquin我只想获取日期(1440959400000+0530)@Elliott我只想得到Date(1440959400000+0530)部分,因为在我的程序中,我们使用了几种类型的Date格式。是的,Hari json字符串类似于“\/Date(1440959400000+0530)\/”,但我无法将其解析为Java字符串。因此,在将其分配给字符串之前,我要格式化或拆分它。Regardsys Hari json字符串的格式类似于“\/Date(1440959400000+0530)\/”,但我无法将其解析为Java字符串。因此,在将其分配给字符串之前,我要格式化或拆分它。就CycDemo而言,事情是value=“\/Date(1440959400000+0530)\/”而不是value=“\\/Date(1440959400000+0530)\\/”。这就是问题所在。json值中没有double\。我的目标是说,如果你有
(
和)
,使用子字符串
methodNo-CycDemo,事情是value=“\/Date(1440959400000+0530)\/”而不是value=“\\/Date(1440959400000+0530)\\/”。这就是问题所在。json值中没有double\。我的目标是说,如果您有(
和)
,请使用子字符串
方法。问题是它不能使字符串“\/Date(1440959400000+0530)\/”像这样。因为“\”的缘故。JSON的提交方式如下:“ValueDate”:“\/Date(1440959400000+0530)\/”@MacDaddy这些必须是字符串,而不是编译时文本。上面的代码没有问题,因为我忽略了“Date”左边的所有内容(“然后是”)右边的所有内容。问题是它不能像这样生成字符串“\/Date(1440959400000+0530)\/”。因为“\”的缘故。JSON的提交方式如下:“ValueDate”:“\/Date(1440959400000+0530)\/”@MacDaddy这些必须是字符串,而不是编译时文本。上面的代码没有问题,因为我忽略了“Date”左边的所有内容(“然后是”右边的所有内容”)。