如何将base64编码的JSON检索到Android
如何从json到android.json代码检索图像url,请参见此处。我只想把图像放到按钮上如何将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=",
{
"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);