2015-11-16 2 views
-2

Когда я хочу десериализации мой JSON к ObservableCollection У меня есть ошибка:Как удалить дополнительную информацию из JSON

Additional information: ' !-- Hosting24 Analytics Code -->

<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>

<!-- End Of Analytics Code -->

' is not a valid JSON primitive. This error can also occur when extraneous data is present after the JSON data.

Как удалить это? В браузере нет. Это мой код:

String url = "http://...php"; 
     HttpClient client = new HttpClient(); 
     HttpResponseMessage response = await client.GetAsync(url); 

     if (response.IsSuccessStatusCode) 
     { 
      var stream = await response.Content.ReadAsStreamAsync(); 

      _events = (ObservableCollection<Event>)jsonSerializer.ReadObject(stream); 
     } 
+0

Что находится в 'stream'? Согласно ошибке, она содержит информацию, которая не является JSON. Это похоже на HTML. Вы не можете десериализовать JSON, если у вас нет JSON. – David

+0

Возможно, используется парсер HTML для анализа фрагмента, который содержит JSON, который вы ищете? Трудно сказать, не увидев весь ответ .. –

+0

В браузере у меня есть: [{"id": "4", "name": "event1", "date": "11 \/15 \/2015", " время ":" 14:52:00" , "описание": "блабла", "стоимость": "3", "freeplacesnum": "1", "улица": "А", "город": "А" , «streetnumber»: «3», «type»: «Cinema», «широта»: «1», «longitude»: «1», «login»: «Login»}] В моем приложении у меня есть дополнительные: после этого кода: String url = "HTTP: //.php"; Клиент HttpClient = новый HttpClient(); строка Результат = ожидание client.GetStringAsync (url); JsonTextBlock.Text = Результат; – Quiet

ответ

0

Хорошо, это хорошее решение:

var stream = await response.Content.ReadAsStringAsync(); 

      int index = stream.IndexOf('<'); 
      stream = stream.Substring(0, index); 

      _events = JsonConvert.DeserializeObject<ObservableCollection<Event>>(stream); 

я вырезал кусок этого JSON, которые начинаются с "<".

Смежные вопросы