JAVA tablica z json wygenerowanego przez php

0

Witajcie, jak mogę w JAVIe odebrać wartości "expire_date" oraz "response_status" z poniższego json wygenerowanego przez php.
Umiem pobrać jsona ze strony lecz nie umiem go sparsować aby uzyskać wyżej wymienione elementy.
{"response":{"expire_date":1351526400,"traffic_left":0,"reset_in":11695},"response_status":200,"response_details":null}
Pozdrawiam

0

http://www.json.org/java/index.html - biblioteka do parsowania JSON w Javie + użycie.
Tutaj możesz pobrać plik .jar - http://mvnrepository.com/artifact/org.json/json
Alternatywnie używałem kiedyś innej biblioteki - JSON.simple http://www.mkyong.com/java/json-simple-example-read-and-write-json/ ale osobiście aktualnie ta pierwsza bardziej do mnie przemawia ;)

0

Starałem się json-simple json zdekodować lecz mi się nie udało, a ze specyfikacji co mi podałeś nie mogę się połapać co jest do czego...
Można prosić o więcej informacji / jakiś przykład ?

0

Jeśli chodzi o JSON.simple to szukaj tutaj: https://code.google.com/p/json-simple/wiki/DecodingExamples

a coś konkretniejszego:

{
	"age":100,
	"name":"Szymon",
	"messages":["msg 1","msg 2","msg 3"]
} 
public class JsonSimpleExample {
     public static void main(String[] args) {
 
	JSONParser parser = new JSONParser();
 
	try {
 
                .....

		Object obj = str // str zawiera json
 
		JSONObject jsonObject = (JSONObject) obj;
 
		String name = (String) jsonObject.get("name"); // wybieramy pole. np. name
		System.out.println(name);
 
		long age = (Long) jsonObject.get("age"); // teraz wybieramy pole "age" 
		System.out.println(age);
 
	        //a tutaj pętla która pokazuje pola z bloku messages
		JSONArray msg = (JSONArray) jsonObject.get("messages"); // wskazujesz blok
		Iterator<String> iterator = msg.iterator(); // wrzucasz go w klase Iterator
                // i wypisujesz po kolei wszystkie pola z tego bloku
		while (iterator.hasNext()) { 
			System.out.println(iterator.next());
		}
 
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	} catch (ParseException e) {
		e.printStackTrace();
	}
 
     }
 
}

Przykład podkradłem z http://www.mkyong.com
Dalej powinieneś dać radę ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1