我有一个 json 这样的网址......
{"Status":
{ "Itemlist":[
{
"id" : "2",
"Name" : "test",
"Price" : "10",
"image" :"http://xxxxxxxxxxxxxx.jpg"
} ,
{
"id" : "4",
"Name" : "Burger",
"Price" : "20",
"image" :"yyyyyyyyyyyyyyyyyyyyyyy.jpeg"
} ,
{
"id" : "6",
"Name" : "a",
"Price" : "1",
"image" :"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.jpg"
}
]}
}
我想从json网址获取图片,并使用 javascript 为 phonegap android 应用程序将其显示在列表中。 请给我一个链接
答案 0 :(得分:1)
由于您希望从JavaScript执行此操作,因此可以使用一些基本代码来帮助您入门。我正在做一个console.log你想要创建你的HTML并将它插入到你想要显示的DOM中。
var request = new XMLHttpRequest();
request.open("GET", "http://my.server.com/data.json");
request.onreadystatechange = function() {
if(request.readyState == 4) {
var data = JSON.parse(request.responseText);
var list = data.Status.ItemList;
for (i=0; i<list.length; i++) {
console.log("Image url = " + list.image);
}
}
}
request.send();
答案 1 :(得分:0)
你可以试试这个:
JSONObject mainObject = new JSONObject("JsonResponse");
JSONObject statusObject = mainObject.getJsonObject("Status");
JSONArray dataArray = statusObject.getJsonObject("Itemlist");
JSONObject subObj = null;
for(int i=0; i<dataArray.length; i++)
{
subObj = dataArray.getJsonObject(i);
String strImageURLValue = subObj.getString("image");
}
答案 2 :(得分:0)
我在编写类似的应用程序时遇到了类似的问题,您可以使用延迟加载器或查看base 64编码和解码..然后实现线程 http://evancharlton.com/thoughts/lazy-loading-images-in-a-listview
http://threebrothers.org/brendan/blog/implementing-a-lazy-loading-android-gallery-with-mirah/
答案 3 :(得分:0)
我注意到你的第一个错误:当传递图像的url时,请确保传递完整的url而不是zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,然后将其设为http://10.0.2.2/zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.jpg,其中10.0.2.2是localhost的IP,然后使用延迟加载器,最好将您的图像渲染到列表视图中。 该网站可能会让您了解您所寻找的内容http://www.javacodegeeks.com/2010/11/android-full-app-part-6-customized-list.html
答案 4 :(得分:0)
我已使用以下代码解析数据并检索图像:
$.getJSON("http://xxxxxxxxxxxxxxxxxxxxx?id=2",
function(data) {
$.each(data.Status.Itemlist, function(i,item){
//$("<img/>").attr("src", item.image).appendTo("#images");
$('#images ul').append("<li>'<span>"+item.Name+"</span>'<img src='"+item.image+"'
</li>");
//$('#images ul').append("<li>'"+item.Name+"'</li>");
//alert(i);
// alert(item);
//if(i==4)return false;
});
});