非常简单的问题,但我对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"));
}
答案 0 :(得分:0)
你的图片信息不是一个字符串,你的JSon在这个属性中有一个字符串数组,所以你需要先开始获取一个对象数组,然后你才能得到你的第一个字符串。
JSONArray arrayOfImages= json.getJSONArray("Images")
现在你可以得到你的图像第一个字符串......