Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将base64编码的JSON检索到Android_Android_Json_Getjson - Fatal编程技术网

如何将base64编码的JSON检索到Android

如何将base64编码的JSON检索到Android,android,json,getjson,Android,Json,Getjson,如何从json到android.json代码检索图像url,请参见此处。我只想把图像放到按钮上 { "page_menu": { "flag": "M" }, "menu": [ { "pid": "0", "name": "Home", "refid": "1", "image_url": "aG9tZS5wbmc=",

如何从json到android.json代码检索图像url,请参见此处。我只想把图像放到按钮上

{
    "page_menu": {
        "flag": "M"
    },
    "menu": [
        {
            "pid": "0",
            "name": "Home",
            "refid": "1",
            "image_url": "aG9tZS5wbmc=",
            "ord_field": "1"
        },
        {
            "pid": "0",
            "name": "About Us",
            "refid": "2",
            "image_url": "YWJvdXQucG5n",
            "ord_field": "2"
        },
        {
            "pid": "0",
            "name": "Services",
            "refid": "3",
            "image_url": "c2VydmljZTIucG5n",
            "ord_field": "3"
        },
        {
            "pid": "0",
            "name": "Products",
            "refid": "4",
            "image_url": "cHJvZHVjdHMucG5n",
            "ord_field": "4"
        }
    ]
}
这是我检索json值的代码,我犯过错误吗??现在我也不明白了

JSONArray jsonMainNode1 = jsonResponse.getJSONArray("menu");
              int lengthJsonArr = jsonMainNode1.length(); 
               for(int i=0; i <lengthJsonArr; i++)
              {                                     
                  JSONObject jsonChildNode = jsonMainNode1.getJSONObject(i);

                      String Pid      = jsonChildNode.optString("pid".toString());
                      String Name     = jsonChildNode.optString("name").toString();
                      String Refid=jsonChildNode.optString("refid".toString());

                      String image     = jsonChildNode.getString("image_url");

                        byte[] decodedString = Base64.decode(image, Base64.DEFAULT);
                  Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,decodedString.length);

                ImageView ima=new ImageView(getApplicationContext());
              ima.setImageBitmap(decodedByte);

                      OutputData = Name+ima;  

我假设您能够解析json,并且您从您的json中以base64格式获得image_url属性的值

将基64字符串转换为图像格式

byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, ecodedString.length);
并将其设置为imageView作为

image.setImageBitmap(decodedByte);

不能在decodeByteArray()中直接给出图像url;第一个参数应该是图像的字节数组,而不是URL的字节数组

请检查文件。 ,int,int)

检查以下链接以从url加载图像

您能解析响应吗?是的,我只在按钮中获取字符串,而不是imageString的意思?您在对象中获取属性image\u url的值吗?如果是,那么是base64还是imageUrl?我得到的是base64。@Rashmi我试过了,我发布了我的代码。请检查。您不能直接在decodeByteArray()中给出图像url;第一个参数应该是图像的字节数组,而不是URL的字节数组。顺便说一句,我不是投反对票的人:)我没有使用任何url,image\u url是我的表列名,我存储了image.png,然后用json编码。
byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, ecodedString.length);
image.setImageBitmap(decodedByte);