JSON は最初のデータ構造です。率直に言うと、これはデータの説明です。XML を置き換えるように見えました。残念ながら、これは存在しませんが、構成ファイルとしては存在します。非常に良い理由は、小さくて柔軟性があり、データを非常によく記述するため、ネットワーク上でデータを送信するのがより便利です。
JSON のデータの記述形式を覚えておいてください。フォームなので、そのデータ形式は次のとおりです:
オブジェクトの説明: {} これは jsonobject (json オブジェクト) を表します
説明配列は次のとおりです: [] は jsonarray (json 配列) を表します。
属性または値の説明は次のとおりです: ""
接続間の説明は次のとおりです:
例フォーマットは次のとおりです:
{ “ret”: 1, “data”: [ { “id”: “8289”, “title”: “油焖大虾”, “collect_num”: “1596”, “food_str”: “大虾 葱 生姜 植物油 料酒”, “num”: 1596 },
最初の方法: ネイティブ分析
まず、フォーマットを分析する必要があります。 json の場合、ここでは最初に json オブジェクト (つまり、JsonObject) があり、内部にネストされた json 配列 (つまり、JsonArray) もあり、jsonarray 内に json オブジェクトがあります。分析が明確になったら解析しますが、もちろん、json に対応するエンティティ クラス Bean を作成するのが最善です。
ここでの結果は、ネットワーク リクエストによって返された json 文字列です。
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray(“data”);
for (int j = 0; j
String id = jsonObject2.getString(“id”);
String title = jsonObject2.getString(“title”);
String pic = jsonObject2. getString("pic");
Stringcollect_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);
2 番目の解析方法: Gson 解析
Gson 解析では、gson.jar パッケージをダウンロードする必要があります。
ここでの分析では、json のエンティティ クラスを生成する必要があります。初心者の場合は、手動で記述することをお勧めします。慣れている場合は、Android Studio のプラグイン GsonFormat を使用して自動的に生成できます。 。
解析はたった 1 文です:
MenuBean menuBean = new Gson().fromJson(result, MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() " ");
3 番目の解析方法: FastJson は Gson に似ています。
MenuBean menuBean = JSON.parseObject(result,MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() ””);
Log.e (“MenuBean—–>”, menuBean.getData().get(0).getPic() ””);
4 番目の解析方法: JackJson 解析。これも上記と同様です
MenuBean menuBean;
menuBean = new ObjectMapper().readValue(result, MenuBean.class);
Log.e(“MenuBean—–>”, menuBean.getRet() ””) ;
Log.e(“MenuBean—–>”, menuBean.getData().get(0).getPic() ””);
以上がjsonでデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。