java 해석 php 함수 json_encode unicode 인코딩 문제
2987 단어 javaphpjson encode
하나, json_encode 역할:
json_encode - 변수를 JSON 인코딩합니다.
설명:string json_encode($value),value 값의 JSON 형식을 반환합니다.
매개 변수: 인코딩할 value,resource 형식을 제외한 모든 데이터 형식
이 함수는 UTF-8 인코딩된 데이터만 사용할 수 있습니다(역주: 문자/문자열 유형의 데이터).
반환값: 인코딩이 성공하면 JSON 형식으로 표시된string을 반환합니다.
둘째, 클라이언트는 자바 언어로 디코딩합니다.
첫 번째 방법
public String unescapeUnicode(String str){
StringBuffer b=new StringBuffer();
Matcher m = Pattern.compile("\\\\u([0-9a-fA-F]{4})").matcher(str);
while(m.find())
b.append((char)Integer.parseInt(m.group(1),16));
return b.toString();
}
unescapeUnicode() 방법으로 직접 디코딩하면 됩니다.2. json_ 사용하기simple.jar 패키지 분석
다운로드 주소:https://www.jb51.net/softs/455885.html
JSON.simple은 JSON 텍스트를 해석하고 생성하는 데 사용되는 간단한 Java 라이브러리입니다.다른 라이브러리에 의존하지 않고 성능이 높다.
Object obj=JSONValue.parse(jsonStr);return obj.toString();
PHP 서버 측 해결 방법:
<html>
<head><meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>php json </title>
<?php
function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
{
static $recursive_counter = 0;
if (++$recursive_counter > 1000)
{
die('possible deep recursion attack');
}
foreach ($array as $key => $value)
{
if (is_array($value))
{
//arrayRecursive($array[$key], $function, $apply_to_keys_also);
}
else
{
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key))
{
$new_key = $function($key);
if ($new_key != $key)
{
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
function JSON($array)
{
//arrayRecursive($array, 'urlencode', true);
//print_r($array);
$json = json_encode($array);
return urldecode($json);
}
$array = array
(
'Name'=>urlencode('php json '),
'Age'=>20
);
echo JSON($array);
echo '</br>';
echo urlencode('php json ');
?>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.