Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
如何在Android中解析JSON url中的图像?_Android_Json_Android Imageview_Android Image - Fatal编程技术网

如何在Android中解析JSON url中的图像?

如何在Android中解析JSON url中的图像?,android,json,android-imageview,android-image,Android,Json,Android Imageview,Android Image,我正在解析Wordpress博客中的内容。我不知道如何从JSON获取图像。这是图像url“内容”:“\n\n这里的一些文本…XXXXX YYYY ZZZZ” 首先,这不是一个有效的图像Url-\”http://sphotos-h.ak.fbcdn.net/hphotos-ak-ash4/395050_10151219612828815_5123523_n.jpg\“更接近您想要的,但仍具有所有转义字符 如果可以让JSON数据包以字符串的形式发送URL,那么效率会更高。如果没有进行配置,使其不会转

我正在解析Wordpress博客中的内容。我不知道如何从
JSON
获取图像。这是图像url
“内容”:“\n\n这里的一些文本…XXXXX YYYY ZZZZ”


首先,这不是一个有效的图像Url-\”http://sphotos-h.ak.fbcdn.net/hphotos-ak-ash4/395050_10151219612828815_5123523_n.jpg\“更接近您想要的,但仍具有所有转义字符

如果可以让JSON数据包以字符串的形式发送URL,那么效率会更高。如果没有进行配置,使其不会转义所有字符,则从返回的文本中删除Url

接下来,我要做的是在AsyncTask中启动http连接并获取输入流。使用BitmapFactory.decodeStream(HttpInputStream)将流转换为位图,然后在PostExecute上将位图返回到UI线程

如果你正在处理许多图像下载,你可能想考虑一个开源库,或者写一个AcsiCimeLooDead


希望这有帮助:)

几乎没有内容是JSON。此内容中的“键”名为“content”,值是第一个冒号“:”后的其余部分。其余部分是常规HTML(需要使用正则表达式或其他HTML解析器来提取)

在javascript中,您所能做的最好的事情是:

var text = JSON.parse(content)["content"]; // which gives you everything after the colon.
但是,您仍然需要使用正则表达式来拉出所有href标记:

下面是命令行上的一个示例:

bash$ content="<p><img class=\"aligncenter\" style=\"cursor: -moz-zoom-in;\" src=\"http:\/\/sphotos-h.ak.fbcdn.net\/hphotos-ak-ash4\/395050_10151219612828815_5123523_n.jpg\" alt=\"http:\/\/sphotos-h.ak.fbcdn.net\/hphotos-ak-ash4\/395050_10151219612828815_5123523_n.jpg\" width=\"390\" height=\"466\" \/><\/p>\n<p><span id=\"more-5267\"><\/span><\/p>\n<p>Some texts here...XXXXXYYYYYZZZZ"

bash$ echo $content | grep -oE "(src|alt)=\"[^\"]+\.jpg\"" | sed "s/\(src=\|alt=\|\"\)//g" | sed "s/\\///g"
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050_10151219612828815_5123523_n.jpg
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050_10151219612828815_5123523_n.jpg
bash$content=“\n\n这里的一些文本…xxxxx yyyy zzzz”
bash$echo$content | grep-oE(src | alt)=\“[^\”]+\.jpg\”“\sed”s/\(src=\\ alt=\\\\\\\”)//g“\124; sed”s/\//g”
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050\u 10151219612828815\u 5123523\u n.jpg
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050\u 10151219612828815\u 5123523\u n.jpg

您可以将该regexp转换为您正在使用的任何语言。

如果您已经获得图像URL,您可以使用此库从主线程异步加载图像,我只是尝试了一下,它非常易于使用并且工作正常,希望它能帮助您:

对于HTML数据:

根据代码,我可以说您正在图像中获取HTML数据,因此您可以在WebView中加载此HTML

对于图像URL:


正如其他人所建议的,只有在获取图像URL而不是HTML数据时,才可以使用或库或加载图像。

尝试仅获取图像URL以从json字符串进行下载,这样您就可以将其插入异步任务并下载所有图像images@GreyBeardedGeek检查代码!发布您的数据,以便我们可以帮助您提取它。但我不知道如何在Android中做到这一点。不知道如何做到这一点,确切地说?@hinesmr可能使用grep,sed:-)根据问题的需要,尝试用相关技术/语言保存代码片段。仅供参考,如果此人有图像URL,则他可以使用此库,否则他就不能使用。@Paresh Mayani:当然,如果没有图像URL,他无法显示来自服务器的图像。
bash$ content="<p><img class=\"aligncenter\" style=\"cursor: -moz-zoom-in;\" src=\"http:\/\/sphotos-h.ak.fbcdn.net\/hphotos-ak-ash4\/395050_10151219612828815_5123523_n.jpg\" alt=\"http:\/\/sphotos-h.ak.fbcdn.net\/hphotos-ak-ash4\/395050_10151219612828815_5123523_n.jpg\" width=\"390\" height=\"466\" \/><\/p>\n<p><span id=\"more-5267\"><\/span><\/p>\n<p>Some texts here...XXXXXYYYYYZZZZ"

bash$ echo $content | grep -oE "(src|alt)=\"[^\"]+\.jpg\"" | sed "s/\(src=\|alt=\|\"\)//g" | sed "s/\\///g"
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050_10151219612828815_5123523_n.jpg
http:\\sphotos-h.ak.fbcdn.net\hphotos-ak-ash4\395050_10151219612828815_5123523_n.jpg