Java 检查json字符串中的url
我将下面的json作为单行字符串存储在Java 检查json字符串中的url,java,android,json,Java,Android,Json,我将下面的json作为单行字符串存储在SharedRef中 [ { "url":"http:\/\/google.com", "feedType":"Automotive" }, { "url":"http:\/\/google.com", "feedType":"Automotive" } ] 我正在使用下面的代码检查url是否已经存在于json字符串中,但它不起作用,因为json用\反斜杠转义 String url =
SharedRef
中
[
{
"url":"http:\/\/google.com",
"feedType":"Automotive"
},
{
"url":"http:\/\/google.com",
"feedType":"Automotive"
}
]
我正在使用下面的代码检查url是否已经存在于json字符串中,但它不起作用,因为json
用\
反斜杠转义
String url = "http://google.com";
String jsonString = '[{"url":"http:\/\/google.com","feedType":"Automotive"},{"url":"http:\/\/google.com","feedType":"Automotive"}]';
if(jsonString.contains(url)) {
Toast.makeText(context, "URL already exists.", Toast.LENGTH_LONG).show();
return false;
}
请帮助我如何检查url是否已经存在于字符串中以避免重复。这将在比较字符串时忽略反斜杠:
String url = "http://google.com";
String jsonString = //get it from SharedPreferences
if(jsonString.replace("\\", "").contains(url)) {
Toast.makeText(context, "URL already exists.", Toast.LENGTH_LONG).show();
}
注意使用
replace(“\\”,”)
我想到了两种解决方案
首先,困难的是通过将json字符串反序列化为对象,然后比较url
来删除转义字符
第二个是自己删除转义字符。ya正如@JohnasCz所说,我认为第一个很简单,循环每个对象并检查它是否有url:)选择最适合你的应用:)会有点过分