2013-07-31 20 views
9

Używam JSON.net zdekodować ciąg JSON i uważam ten błąd:JSON dekodowania: Nieoczekiwany token: StartArray

Exception in 'Newtonsoft.Json.JsonReaderException' en Newtonsoft.Json.dll

Información adicional: Error reading string. Unexpected token: StartArray. Path 'mentions', line 3, position 3.

Ciąg JSON jest coś takiego:

{ 
"mentions": 
    [ 
     { 
      "id":"1234", 
      "alert_id":123, 
      "title":"Bla bla bla", 
      "url":"http:\/\/www.example.com\/", 
      "unique_id":"123", 
      "published_at":"2013-07-30T11:26:36.92131100+00:00", 
      "created_at":"2013-07-30T11:27:08.0+00:00", 
      "updated_at":"2013-07-30T11:27:09.0+00:00", 
      "favorite":false, 
      "trashed":false, 
      "trashed_set_by_user":false, 
      "read":false, 
      "tone":0, 
      "tone_score":0.14732, 
      "relevance_score":1, 
      "source_type":"forums", 
      "source_name":"xxx", 
      "source_url":"http:\/\/example.com\/", 
      "language_code":"es", 
      "tasks":[], 
      "logs":[], 
      "children":[], 
      "picture_url":"https:\/\/example.com\/example.jpg" 
     }, 
     { 
      "id":"1235", 
      "alert_id":123, 
      "title":"Bla bla bla", 
      "url":"http:\/\/www.example.com\/", 
      "unique_id":"124", 
      "published_at":"2013-07-30T11:26:36.92131100+00:00", 
      "created_at":"2013-07-30T11:27:08.0+00:00", 
      "updated_at":"2013-07-30T11:27:09.0+00:00", 
      "favorite":false, 
      "trashed":false, 
      "trashed_set_by_user":false, 
      "read":false, 
      "tone":0, 
      "tone_score":0.14732, 
      "relevance_score":1, 
      "source_type":"forums", 
      "source_name":"xxx", 
      "source_url":"http:\/\/example.com\/", 
      "language_code":"es", 
      "tasks":[], 
      "logs":[], 
      "children":[], 
      "picture_url":"https:\/\/example.com\/example.jpg" 
     } 
    ], 
"recently_reenabled":false 
} 

i wygląd tak jak problem jest w trzeciej linii, gdzie "[" rozpoczyna tablicę wzmianek, widziałem ten błąd jest mniej lub bardziej powszechny, ale nie znalazłem rozwiązania.

To jest mój kod:

Dim result As New Dictionary(Of String, String) 
    Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer 
    Dim jsonString As String 

    jsonString = txtJSON.Text 

    result = JsonConvert.DeserializeObject(Of Dictionary(Of String, String))(jsonString) 

Pomoc?

Odpowiedz

12

Wygląda na to, że próbujesz deserializować swój JSON w Dictionary(Of String, String). Jednak wyraźnie wartość mentions nie jest wartością String; jest to tablica obiektów. Zamiast tego możesz spróbować przekształcić się w wersję Dictionary(Of String, Object).

Powiązane problemy