【问题标题】:get images from json从 json 获取图像
【发布时间】:2012-01-02 17:56:53
【问题描述】:

我有一个像这样的 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 url 获取图像并使用 javascript 将其显示到列表中,用于 phonegap android 应用程序。 请给我一个链接

【问题讨论】:

  • 你能更好地格式化 sn-p 吗?

标签: android json map cordova marker


【解决方案1】:

我已经使用以下代码解析了数据并检索了图像

$.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;
   });
});

【讨论】:

    【解决方案2】:

    由于您想从 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();
    

    【讨论】:

    • 感谢您的代码。但我无法检索图像,它只是显示为未定义
    【解决方案3】:

    我注意到你的第一个错误:在传递图像的 url 时,确保传递完整的 url 而不是 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.jpg,将其设为 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】:

      我在编写类似的应用程序时遇到了类似的问题,您可以使用惰性加载器或查看 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/

      【讨论】:

        【解决方案5】:

        你可以试试这个:

        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");
        
        }
        

        【讨论】:

        • 请帮我做javascript?
        • @user969275 亲爱的,我已经为你提供了一个创业公司,你不打算自己去尝试吗?
        猜你喜欢
        • 1970-01-01
        • 2018-10-21
        • 2021-09-15
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 1970-01-01
        • 2019-03-24
        • 1970-01-01
        相关资源
        最近更新 更多