How to find specified name and its value in JSON-string from Java?
gson, java, json, json-simple
Solution
Use a JSON library to parse the string and retrieve the value.
The following very basic example uses the built-in JSON parser from Android.
String jsonString = "{ \"name\" : \"John\", \"age\" : \"20\", \"address\" : \"some address\" }";
JSONObject jsonObject = new JSONObject(jsonString);
int age = jsonObject.getInt("age");
More advanced JSON libraries, such as jackson, google-gson, json-io or genson, allow you to convert JSON objects to Java objects directly.
Problem
Let's assume we have the next JSON string: ``` { "name" : "John", "age" : "20", "address" : "some address", "someobject" : { "field" : "value" } } ``` What is the easiest (but still correct, i.e. regular expressions are not acceptable) way to find field `age` and its value (or determine that there's no field with given name)?