Cześć
napisałem kiedyś aplikację pobierającą dane z WebServisu i pakującą do ListView.
JSON był tam taki:
{"products":[
{"id":"240","title":"Przemys\u0142 stoczniowy. Co dalej?","introtext":"<p>Przemys\u0142 stoczniowy prze\u017cywa obecn[....]"},
{"id":"239","title":"Ceny Franka \u2013 prognozy","introtext":"</p><p>Po ostatnich zmianach w kursie Franka wiele [...]"},
{"id":"238","title":"Otwarty Fundusz Emerytalny","introtext":"</p><p>Saldo zakup\u00f3w i sprzeda\u017cy akcji [...]"},
{"id":"233","title":"Czy waluta Bitcoin doczeka\u0142a si\u0119 gro\u017anego konkurenta?","introtext":"</p><p>Bitcoin - kryptowaluta, wprowadzona w 2009 roku. [...]"}]
,"success":1}
stosowałem wtedy takie stałe:
public static final String TAG_SUCCESS = "success";
public static final String TAG_PRODUCTS = "products";
public static final String TAG_PID = "id";
public static final String TAG_NAME = "title";
public static final String TAG_INTROTEXT = "introtext";
i to działo!
Teraz dostałem innego JSONa i nie wiem jak to rozgryźć:
{"status":200,
"data":
{"slide":[
{"image":"http:\/\/www.domena.pl\/image\/slide\/1.jpg","link":"http:\/\/www.domena.pl\/product?id=52\x0078lang=pl"},
{"image":"http:\/\/www.domena.pl\/image\/slide\/2.jpg","link":"http:\/\/www.domena.pl\/product?id=53\x0078lang=pl"},
{"image":"http:\/\/www.domena.pl\/image\/slide\/3.jpg","link":"http:\/\/www.domena.pl\/product?id=4\x0078lang=pl"},
{"image":"http:\/\/www.domena.pl\/image\/slide\/4.jpg","link":"http:\/\/www.domena.pl\/product?id=13\x0078lang=pl"}],
"portfolio":[
{"id":52,"name":"Aplikacja pierwsza","description":"To jest opis aplikacji pierwszej[...]"},
{"id":37,"name":"Aplikacja druga","description":"To jest opis aplikacji drugiej [...]"},
{"id":4,"name":"Aplikacja trzecia","description":"To jest opis aplikacji trzeciej [...]"},
{"id":51,"name":"Aplikacja czwarta","description":"To jest opis aplikacji czwartej [...]"},
"person":[
{"name":"Jan Kowalski","position":"Prezes","image":"http:\/\/www.domena.pl\/image\/persons\/1.png"},
{"name":"Jan Nowak","position":"Dyrektor","image":"http:\/\/www.domena.pl\/image\/persons\/2.png"},
{"name":"Adam Malysz","position":"Vice Director","image":"http:\/\/www.domena.pl\/image\/persons\/3.png"}],
"work":[
{"name":"Programista","image":"http:\/\/www.domena.pl\/image\/file-type\/android.png","file":"http:\/\/www.domena.pl\/file\/ogloszenie_1.pdf"},
{"name":"Praktykant","image":"http:\/\/www.domena.pl\/image\/file-type\/smarttv.png","file":"http:\/\/www.domena.pl\/file\/ogloszenie_2.pdf"},
{"name":"Project Manager","image":"http:\/\/www.domena.pl\/image\/file-type\/pm.png","file":"http:\/\/www.domena.pl\/file\/dogloszenie_3.pdf"},
{"name":"Tester","image":"http:\/\/www.domena.pl\/image\/file-type\/tester.png","file":"http:\/\/www.domena.pl\/file\/ogloszenie_4.pdf"}
]}}
muszę z tablicy portfolio wyłuskać id, name oraz description.
Kiedy jako TAG_PRODUCTS wpisuję portfolio, dostaję:
W/System.err: org.json.JSONException: No value for portfolio
a kiedy jako TAG_PRODUCTS wpisuję data - czyli szerzej, dostaję:
W/System.err: org.json.JSONException: Value {"work":[{"image":"http:\/\/www.domena.pl\/image\/slide\/1.jpg"[...]
czyli nieco lepiej - wypisuje mi cały długi łańcuch JSON, jednak program nie działa - jest to przechwycenie błędu try - catch i program nie idzie dalej.