抓取url链接然后存储在变量中以发送到异步

时间:2014-03-11 03:20:17

标签: php android json

非常简单的问题,但我对java很新,但仍不太确定JSON是如何工作的。我在这里有一个关于宁静服务的JSON :( http://iam.colum.edu/portfolio/api/course?json=True)我的应用程序然后遍历每个并抓取每个课程的课程编号,然后创建一个新的json,其中包含我从原始json抓取的课程编号,例如会在这里:(http://iam.colum.edu/portfolio/api/course/36-1600?json=True)。这已经完成,没有必要进一步了解它。我现在的困惑在于如何从我给你的第二个链接中获取URL,你会看到一个带有一堆网址的字符串“Images”。我只想抓住每个JSON的第一个URL(我刚刚发布了1个例子,我在开始时把其他信息放在原因上是因为这个原因,如果你看第一个链接,每个课程都会有一个数字,然后以这种格式设置数字:(http://iam.colum.edu/portfolio/api/course/XX-XXXX?json=True

真的只是一个基本问题,虽然我认为有必要发布那段,因为我过去得到了帮助,这使我误入歧途的地方。我只是想获得第一个链接,然后我可以做一个Async将该url放入我拥有的imageview中。这是我到目前为止尝试/尝试的内容(字符串图像是我添加的,其他一切已经有效。

first = (TextView)findViewById(R.id.firsttv);
        second = (TextView)findViewById(R.id.secondtv);
        third = (TextView)findViewById(R.id.thirdtv);

        String id = getIntent().getStringExtra("id");
        System.out.println(id);

        String response = readBuilding(id.trim());
        System.out.println(response);

        try {
            JSONObject jsonObj = new JSONObject(response);
            if(jsonObj.length()>0)
            {
                String CourseName = jsonObj.getString("CourseName");
                String CourseNumber = jsonObj.getString("CourseNumber");
                String CourseDescription = jsonObj.getString("CourseDescription");
                String Images = jsonObj.getString("Images");

                first.setText("CourseName:- "+CourseName);
                second.setText("CourseNumber:- "+CourseNumber);
                third.setText("CourseDescription:- "+CourseDescription);

            }

此外,在人们回答“哦,你没有在那里捕获”或“哦,你没有关闭你的课程”请不要回答这些建议,我只发布我的问题所必需的代码。我很清楚我需要抓住并结束课程!先感谢您。

编辑:

try {
            JSONObject jsonObj = new JSONObject(response);
            if(jsonObj.length()>0)
            {
                String CourseName = jsonObj.getString("CourseName");
                String CourseNumber = jsonObj.getString("CourseNumber");
                String CourseDescription = jsonObj.getString("CourseDescription");
                JSONArray arrayOfImages = jsonObj.getJSONArray("Images");

                int arrSize = arrayOfImages.length();

                List<String> urlOfImage = new ArrayList<String>(arrSize);

                first.setText("CourseName:- "+CourseName);
                second.setText("CourseNumber:- "+CourseNumber);
                third.setText("CourseDescription:- "+CourseDescription);
                for(int i = 0; i < arrSize; ++i)
                {
                    jsonObj = arrayOfImages.getJSONObject(i);
                    urlOfImage.add(jsonObj.getString("Images"));
                }

1 个答案:

答案 0 :(得分:0)

你的图片信息不是一个字符串,你的JSon在这个属性中有一个字符串数组,所以你需要先开始获取一个对象数组,然后你才能得到你的第一个字符串。

JSONArray arrayOfImages= json.getJSONArray("Images")

现在你可以得到你的图像第一个字符串......