2015-03-01 2 views
0

У меня есть формат JSON, как показано ниже:Basic4android - Jsonparser

{"response":[{Pasien={id=24, name=Erren}, Detailtransaksi=[], Upk={name=Poli Umum}, Pendaftaran={antrian=1, id=1, user_id=9, modified=2015-03-01 14:08:46, keterangan=demam tinggi, pasien_id=24}}, 
{Pasien={id=21, name=Lulu Batam}, Detailtransaksi=[], Upk={name=Poli Umum}, Pendaftaran={antrian=2, id=2, user_id=9, modified=2015-03-01 14:09:05, keterangan=kantong kering akut, pasien_id=21}} 
]} 

, но я не знаю, как взять данные массива в списке.

+0

это не является допустимым [JSON] (http://en.wikipedia.org/wiki/JSON) – janisz

+0

я получаю этот формат из CakePHP – LuckyMan

ответ

0

Я попытался сказать каждому символу, что это значит. Вы должны использовать

Dim j as Json: j.Initialize(string) 
Dim m as Map = j.NextObject() 
Dim l as List = m.Get("response") 
Dim m2 as Map = l.Get(0) 
Dim m3 as Map = m2.Get("Pasien") 
Dim id as Integer = m3.Get("id") 
Dim l2 as List = m3.Get("Detailtransaksi") 'but it has not child element 

Эти строки говорят, чтобы достичь данных из json.

Я надеюсь, что эти советы достаточно для вас.

{ => this mean it is a json object. you must take this to Map by nextObject  
 

 
'response':[ => this mean it is a list! you must take this element to List by nextArray 
 
     {  => after take all data to list, get every element from list to Map 
 
     Pasien={ => get "Pasien" value from Map with own key to new Map 
 
        id=24, 
 
        name=Erren 
 
       }, 
 
     Detailtransaksi=[], 
 
     Upk={ 
 
       name=Poli Umum 
 
      }, 
 
     Pendaftaran={ 
 
         antrian=1, 
 
         id=1, 
 
         user_id=9, 
 
         modified=2015-03-01 14:08:46, 
 
         keterangan=demam tinggi, pasien_id=24 
 
        } 
 
     }, 
 

 
     { 
 
      Pasien={ 
 
        id=21, 
 
        name=Lulu Batam 
 
        }, 
 
      Detailtransaksi=[], 
 
      Upk={ 
 
       name=Poli Umum 
 
       }, 
 
      Pendaftaran={ 
 
         antrian=2, 
 
         id=2, 
 
         user_id=9, 
 
         modified=2015-03-01 14:09:05, 
 
         keterangan=kantong kering akut, 
 
         pasien_id=21 
 
         } 
 
     } 
 
    ] 
 
}

0

Вы можете использовать класс JSONParser. Сначала вы должны добавить библиотеку JSON в свой проект, а затем объявить переменную JSONParser и инициализировать ее текстом JSON.

Теперь вы можете использовать следующие два метода, чтобы получить результат: parser.NextArray Как List (при наличии более чем один элемент в формате JSON текста) parser.NextObject Как карта (если есть только один объект в текст в формате JSON)

private Sub ParseResponse (text As String) As List 
parser.Initialize(text) 
Private returnList As List 
Private jsonMap As Map 
Private jsonList As List 

Try 
    jsonList = parser.NextArray 
    returnList = jsonList 
    Return returnList 
Catch 
    Try 
     jsonMap = parser.NextObject 
     returnList.Add(jsonMap) 
     Return returnList 
    Catch 
     Return Null  ' not a json text 
    End Try 
End Try 

End Sub

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