Android_解析JSON对象/数组


解析JSON对象内的JSON数组

package com.lyarn.study;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //虚拟一段数据
        String res="{\n" +
                "    \"code\": 200,\n" +
                "    \"msg\": \"查询成功\",\n" +
                "    \"data\": [\n" +
                "        {\n" +
                "            \"image_url\": \"http://contentcms-bj.cdn.bcebos.com/cmspic/dd7b0d8aa276e3a062edf462b4082065.jpeg\",\n" +
                "            \"title\": \"埃及马特鲁港:壮丽海滩\",\n" +
                "            \"news_url\": \"http://www.news.cn/photo/2022-03/29/c_1128511033_5.htm\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"image_url\": \"http://contentcms-bj.cdn.bcebos.com/cmspic/96a6f7ae86ca199cc9fcf84e1270bec9.jpeg\",\n" +
                "            \"title\": \"贵阳环城铁路首发班组亮相\",\n" +
                "            \"news_url\": \"http://www.news.cn/photo/2022-03/29/c_1128514110.htm\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"image_url\": \"http://contentcms-bj.cdn.bcebos.com/cmspic/40337904ac5365ab8a5bfec53bc0be33.jpeg\",\n" +
                "            \"title\": \"美国紫藤花经吉尼斯世界纪录认证为最大开花植物\",\n" +
                "            \"news_url\": \"http://www.chinanews.com.cn/tp/hd2011/2022/03-29/1025429.shtml\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"image_url\": \"http://contentcms-bj.cdn.bcebos.com/cmspic/b888d86e046564b36c3443180a4f1cac.jpeg\",\n" +
                "            \"title\": \"最“残酷”的马拉松比赛 共计250公里全程沙漠\",\n" +
                "            \"news_url\": \"http://www.chinanews.com.cn/tp/hd2011/2022/03-29/1025372.shtml\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"image_url\": \"http://contentcms-bj.cdn.bcebos.com/cmspic/eabf796de661928901677c93593c796c.jpeg\",\n" +
                "            \"title\": \"青海“高原小江南”:丹霞地貌与杏林互映\",\n" +
                "            \"news_url\": \"http://www.chinanews.com.cn/tp/hd2011/2022/03-29/1025413.shtml\"\n" +
                "        }\n" +
                "    ]\n" +
                "}";
        try {
            //获取json数据
            JSONObject jsonObject1=new JSONObject(res);
            //获取键为data的json值
            String data=jsonObject1.getString("data");
            //data转json数组
            JSONArray jsonArray=new JSONArray(data);
            //声明一个集合装载数据
            List list=new ArrayList<>();
            //遍历数组
            for (int i=0;i