Ява: Разбор Json правильно?

0

У меня есть массив в 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" не был удален. Я не хочу вручную удалять его здесь, так как кажется, что проблема, вероятно, связана с синтаксическим разбором.

Любые идеи, как это исправить?

Теги:

1 ответ

0

Просто попробуйте этот код: нет необходимости в escape-последовательности

 {"dbonline":true,"success":true,"action":"geturls","authorized":true,
     "urls":[
        {"url":"http://www.namhost.com"},
             {"url":"http://www.voomka.com"},
             {"url":"http://www.ournamibia.com"}]
    } 
  • 0
    Проблема в том, что он возвращается из сценария PHP?
  • 0
    Я сделал обновление кода, чтобы показать, как PHP выплевывает его обратно. Может быть, это проблема PHP.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню