Jak parsować w Androidzie tablicę ciągów Json i zapisać ją w tablicy ciągów Java (np .: xy [])?
Mój Json do przeanalizowania:
[
{
"streets": [ "street1", "street2", "street3",... ],
}
]
Później w moim kodzie chcę zapełnić tą tablicą element przędzenia w moim układzie. Wszystko, co próbowałem, kończy się na jednym elemencie ulicznym wymienionym w pokrętle.
Odpowiedzi:
33 dla odpowiedzi № 1Do analizowania
try {
JSONArray jr = new JSONArray("Your json string");
JSONObject jb = (JSONObject)jr.getJSONObject(0);
JSONArray st = jb.getJSONArray("streets");
for(int i=0;i<st.length();i++)
{
String street = st.getString(i);
Log.i("..........",""+street);
// loop and add it to array or arraylist
}
}catch(Exception e)
{
e.printStackTrace();
}
Po przeanalizowaniu i dodaniu go do tablicy. Użyj tego samego, aby zapełnić błystkę.
[
reprezentuje węzeł tablicy json
{
reprezentuje węzeł obiektu json
3 dla odpowiedzi № 2
Spróbuj tego..
JSONArray arr = new JSONArray(json string);
for(int i = 0; i < arr.length(); i++){
JSONObject c = arr.getJSONObject(i);
JSONArray ar_in = c.getJSONArray("streets");
for(int j = 0; j < ar_in.length(); j++){
Log.v("result--", ar_in.getString(j));
}
}
2 dla odpowiedzi nr 3
Najpierw musimy uczynić obiekt JSON. Na przykład,
JSONObject jsonObject = new JSONObject(resp);
// resp is your JSON string
JSONArray arr = jsonObject.getJSONArray("results");
Log.i(LOG, "arr length = " + arr.length());
for(int i=0;i<arr.length();i++)
{...
arr może zawierać inne obiekty JSON lub tablicę JSON. Sposób konwersji JSON zależy od ciągu. Istnieje pełny przykład z objaśnieniem dotyczącym ciągu JSON String na tablicę JSON pod adresem http://www.hemelix.com/JSONHandling