我在的JSON輸出的數組:Java:正確解析Json?
print json_decode($array);
字符串結果:
{"dbonline":true,"success":true,"action":"geturls","authorized":true,
"urls":[
{"url":"http:\/\/www.namhost.com"},
{"url":"http:\/\/www.voomka.com"},
{"url":"http:\/\/www.ournamibia.com"}]
}
注意//一部分。這就是我找回來,從這樣的:
header('Content-Type: application/json');
echo json_encode($result);
然後我用Java搶在那裏,這是印刷的URL,然後我分析它:
private ArrayList<String> extractUrls(String jsonText)
{
ArrayList<String> urlResults = new ArrayList<String>();
JsonParserFactory factory = JsonParserFactory.getInstance();
JSONParser parser = factory.newJsonParser();
Map jsonData = parser.parseJson(jsonText);
ArrayList urlList = (ArrayList)jsonData.get("urls");
for (Object u : urlList)
{
HashMap hashmap = (HashMap)u;
String url = hashmap.get("url").toString();
urlResults.add(url);
}
return urlResults;
}
的問題是,數組列表正在返回的值有:
[0] = (String) "http:\\/\\/www.namhost.com\\/blog\\/2014-06-11\\/how-to-choose-right-software-solution"
換句話說,json「slashing」還沒有被刪除。我不想在這裏手動刪除它,因爲它似乎問題可能是直接解析。
任何想法如何解決這個問題?
加上'JSON_UNESCAPED_SLASHES'作爲第二個參數 – Ohgodwhy 2014-11-08 07:02:03
回聲json_encode($結果,JSON_UNESCAPED_SLASHES)的;說 - >使用未定義的常量JSON_UNESCAPED_SLASHES - 假設'JSON_UNESCAPED_SLASHES'在 – coderama 2014-11-08 07:02:28
版本的PHP? – Ohgodwhy 2014-11-08 07:03:39