工具方法json数据的Unicode乱码

简介: 今天在爬取一个网站返回的一段json数据但是一看吓一跳 查询得知这是为了更好的传输中文,json进行了Unicode编码。 下面是工具方法:    1 public static String decodeUnicode(String theString) { 2 ...

今天在爬取一个网站返回的一段json数据但是一看吓一跳

查询得知这是为了更好的传输中文,json进行了Unicode编码。

下面是工具方法:

  

 1 public static String decodeUnicode(String theString) {    
 2         char aChar;    
 3         int len = theString.length();    
 4         StringBuffer outBuffer = new StringBuffer(len);    
 5         for (int x = 0; x < len;) {    
 6             aChar = theString.charAt(x++);    
 7             if (aChar == '\\') {    
 8                 aChar = theString.charAt(x++);    
 9                 if (aChar == 'u') {    
10                     // Read the xxxx    
11                     int value = 0;    
12                     for (int i = 0; i < 4; i++) {    
13                         aChar = theString.charAt(x++);    
14                         switch (aChar) {    
15                         case '0':    
16                         case '1':    
17                         case '2':    
18                         case '3':    
19                         case '4':    
20                         case '5':    
21                         case '6':    
22                         case '7':    
23                         case '8':    
24                         case '9':    
25                             value = (value << 4) + aChar - '0';    
26                             break;    
27                         case 'a':    
28                         case 'b':    
29                         case 'c':    
30                         case 'd':    
31                         case 'e':    
32                         case 'f':    
33                             value = (value << 4) + 10 + aChar - 'a';    
34                             break;    
35                         case 'A':    
36                         case 'B':    
37                         case 'C':    
38                         case 'D':    
39                         case 'E':    
40                         case 'F':    
41                             value = (value << 4) + 10 + aChar - 'A';    
42                             break;    
43                         default:    
44                             throw new IllegalArgumentException(    
45                                     "Malformed   \\uxxxx   encoding.");    
46                         }    
47         
48                     }    
49                     outBuffer.append((char) value);    
50                 } else {    
51                     if (aChar == 't')    
52                         aChar = '\t';    
53                     else if (aChar == 'r')    
54                         aChar = '\r';    
55                     else if (aChar == 'n')    
56                         aChar = '\n';    
57                     else if (aChar == 'f')    
58                         aChar = '\f';    
59                     outBuffer.append(aChar);    
60                 }    
61             } else    
62                 outBuffer.append(aChar);    
63         }    
64         return outBuffer.toString();    
65     }  

 

欢迎大家一起说出自己的想法。
目录
相关文章
|
4月前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
4月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
4月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
4月前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
270 3
|
4月前
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
349 3
|
6月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
5月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
5月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
5月前
|
JSON API 数据格式
干货满满!淘宝商品详情数据,淘宝API(json数据返回)
淘宝商品详情 API 接口(如 taobao.item.get)的 JSON 数据返回示例如下
|
6月前
|
JSON 算法 安全
淘宝商品详情API接口系列,json数据返回
淘宝开放平台提供了多种API接口用于获取商品详情信息,主要通过 淘宝开放平台(Taobao Open Platform, TOP) 的 taobao.tbk.item.info.get(淘宝客商品详情)或 taobao.item.get(标准商品API)等接口实现。以下是关键信息及JSON返回示例:

热门文章

最新文章