JSON is the first data structure. To put it bluntly, it is a description of data. It just appeared to replace XML. Unfortunately, it does not exist, but as a configuration file, it is very good because it It is small and flexible, and describes the data very well, so it is more convenient to transmit data on the network.
Please remember the description form of data in JSON. Since it is a form, what is its data form like:
The description of the object is: {} This represents jsonobject (json object)
Description of the array Is: [] represents jsonarray (json array)
The description of the attribute or value is: ""
The description between the connections is: :
ExampleThe format is like this:
{ “ret”: 1, “data”: [ { “id”: “8289”, “title”: “油焖大虾”, “collect_num”: “1596”, “food_str”: “大虾 葱 生姜 植物油 料酒”, “num”: 1596 },
The first method: native analysis
First of all, we need to analyze the format of json, here first is a json object ( That is, JsonObject), there is also a json array (that is, JsonArray) nested inside, and there is a json object in jsonarray. Once the analysis is clear, you can parse it. Of course, the best thing is to create an entity class bean corresponding to json.
The result here is the json string returned by the network request.
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray(“data”);
for (int j = 0; j < jsonArray.length(); j ) {
JSONObject jsonObject2 = jsonArray.getJSONObject(j);
String id = jsonObject2.getString(“id”);
String title = jsonObject2.getString(“title”);
String pic = jsonObject2. getString("pic");
String collect_num = jsonObject2.getString("collect_num");
String food_str = jsonObject2.getString("food_str");
String num = jsonObject2.getString("num" );
Log.e(“json——->”, id ”,” title ”,” pic ”,” collect_num ”,” food_str ”,” num);
The second parsing method: Gson parsing
Gson parsing requires downloading the gson.jar package.
The analysis here requires generating entity classes for json. If you are a beginner, it is recommended to write it by hand. If you are familiar with it, you can use the plug-in GsonFormat in Android Studio to automatically generate it.
Parsing is just one sentence:
MenuBean menuBean = new Gson().fromJson(result, MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() "");
The third parsing method: FastJson is similar to Gson.
MenuBean menuBean = JSON.parseObject(result,MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() ”“);
Log.e (“MenuBean—–>”, menuBean.getData().get(0).getPic() ”“);
The fourth parsing method: JackJson parsing, also similar to the above
MenuBean menuBean;
menuBean = new ObjectMapper().readValue(result, MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() ””) ;
Log.e(“MenuBean—–>”, menuBean.getData().get(0).getPic() ”“);
The above is the detailed content of How to get data in json. For more information, please follow other related articles on the PHP Chinese website!