日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java解析php函數(shù)json_encodeunicode的編碼問題

這篇文章主要介紹了java解析php函數(shù)json_encode unicode 編碼問題,需要的朋友可以參考下。

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)嘉黎免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

android開發(fā)中在和服務器端接口對接時出現(xiàn)編碼問題,從服務器端獲取到的數(shù)據(jù)是 "\u8bbe\u59071ID-\u8bbe\u59071\u540d\u79f0;\u8bbe\u59073id-\u8bbe\u59073\u540d\u79f0;\u8bbe\u59077id-\u8bbe\u59077\u540d\u79f0" 接口是通過php函數(shù)中json_encode進行編碼后返回的,在客戶端通過java.net.URLdecoder.decode()解碼不管用,但是直接將以上字符串復制到decode()方法中可以正常解碼,把接收到的字符串經(jīng)過utf-8編碼后不管用,***在網(wǎng)上搜索相關(guān)資料找到解決方法。

一、json_encode作用:

json_encode — 對變量進行 JSON 編碼。

說明:string json_encode ($value ),返回 value 值的 JSON 形式。

參數(shù):待編碼的 value ,除了resource 類型之外,可以為任何數(shù)據(jù)類型

該函數(shù)只能接受 UTF-8 編碼的數(shù)據(jù)(譯注:指字符/字符串類型的數(shù)據(jù))

返回值:編碼成功則返回一個以 JSON 形式表示的 string 。

二、客戶端用java語言解碼:

***種方法

 
 
  1. public String unescapeUnicode(String str){ 
  2.   StringBuffer b=new StringBuffer(); 
  3.   Matcher m = Pattern.compile("\\\\u([0-9a-fA-F]{4})").matcher(str); 
  4.   while(m.find()) 
  5.    b.append((char)Integer.parseInt(m.group(1),16)); 
  6.   return b.toString(); 
  7.  } 

 

直接使用unescapeUnicode()方法解碼就可以了。

2. 使用 json_simple.jar 包解析

下載地址:http://www.jb51.net/softs/455885.html

JSON.simple是一個簡單的Java類庫,用于解析和生成JSON文本。不依賴于其它類庫,性能高。

 
 
  1. Object obj=JSONValue.parse(jsonStr);return obj.toString(); 

三、PHP服務器端解決方法:

 
 
  1.  
  2.  
  3. php生成 json 中文 
  4.   
  5. function arrayRecursive(&$array, $function, $apply_to_keys_also = false)  
  6. {  
  7.  static $recursive_counter = 0;  
  8.   
  9.  if (++$recursive_counter > 1000)  
  10.  {  
  11.    die('possible deep recursion attack');  
  12.  }  
  13.   
  14.  foreach ($array as $key => $value)  
  15.  {  
  16.   
  17.   if (is_array($value))  
  18.   {  
  19.    //arrayRecursive($array[$key], $function, $apply_to_keys_also);  
  20.   }  
  21.   else 
  22.   {  
  23.    $array[$key] = $function($value); 
  24.   }  
  25.   
  26.   if ($apply_to_keys_also && is_string($key))  
  27.   {  
  28.    $new_key = $function($key);  
  29.   
  30.    if ($new_key != $key)  
  31.    {  
  32.     $array[$new_key] = $array[$key];  
  33.     unset($array[$key]);  
  34.    }  
  35.   }  
  36.  } 
  37.  $recursive_counter--;  
  38. }  
  39.   
  40. function JSON($array)  
  41. {  
  42.  //arrayRecursive($array, 'urlencode', true);  
  43.  //print_r($array); 
  44.  $json = json_encode($array);  
  45.  return urldecode($json);  
  46. }  
  47.   
  48. $arrayarray = array 
  49.   (  
  50.    'Name'=>urlencode('php生成 json 中文'),  
  51.    'Age'=>20  
  52.   );  
  53.   
  54. echo JSON($array); 
  55. echo '
    '; 
  56. echo urlencode('php生成 json 中文'); 
  57.   
  58. ?>  
  59.  
  60.  

本文標題:Java解析php函數(shù)json_encodeunicode的編碼問題
文章來源:http://www.dlmjj.cn/article/cdiesde.html