从网络获取JSON信息的时候,有时我们会获取到一些不知名的东西,比如下面的情况就是我获取的json信息:
可以看到artist_name我所希望的是歌手的名字,结果出来的却是一堆不知道什么东西的编码,我大概的猜测一下,它有可能就是UniCode编码,因为它和UniCode编码比较相像,原因有二:
既然我猜测它是UniCode编码那么我就要验证一下,使用了一个UniCode编码的转换工具,我得到了下面的结果:
看来我的猜测是正确的,那么接下来该怎么用代码去解析它呢,总不能手动用工具去解析吧,这是肯定不行的,所以我还是百度了一下(自己也不是懂~~),最终得到了一些答案。
实现的思路还是比较清晰的,代码也不是很难,额~~应该说是很简单的吧,看了就知道了。
很明显我们需要写一个函数,下面就是我的代码,我就不做过多的解释了,都是很简单的内容。
String getStrFromUniCode(String unicode){
String str = "";
for(int i=0;i<unicode.length();i+=4){
String s = "";
for(int j=i;j<i+4;j++){
s+=String.valueOf(unicode.charAt(j));
}
str+=String.valueOf((char)Integer.valueOf(s, 16).intValue());
}
return str;
}
我解析之后再程序运行的结果如下:
可以看到,程序正确运行了,可见方法还是对的,虽然我不知道是不是有相关已经封装好的方法可以直接使用,但是现在就先这么来吧。
经过这次的经历,我发现遇到问题还是不能太着急,要根据自己所学的内容进行大胆的猜测,有时候可能就是根本不沾边的内容,但说不定就是对的,^_^!
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/programchangesworld/article/details/46716541