json解析解决方案

Jun 13, 2016 am 10:17 AM
array function json quot return

json解析
问一个问题啊 我已经解决json_encode 不能传中文的问题 在gbk编码的情况下 但是我怎么用json_decode()函数解析不出来啊

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->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--;} /************************************************************** * *    将数组转换为JSON字符串(兼容中文) *    @param    array    $array        要转换的数组 *    @return string        转换得到的json字符串 *    @access public * *************************************************************/function JSON($array) {    arrayRecursive($array, 'urlencode', true);    $json = json_encode($array);    $json = urldecode($json);    $json = str_replace("\"false\"","false",$json);        $json = str_replace("\"true\"","true",$json);        return $json;    }function get_goodbook() {       $sql = "select * from `wiki_doc`";       $data=$this->db->getAll($sql);           return JSON($data);    }
Salin selepas log masuk


------解决方案--------------------
json_encode 可以传中文啊,传之前iconv就是了伐.
------解决方案--------------------
你把内容作了 url 编码,对方(比如js)拿到后如何知道需要解码呀?

你应该在 arrayRecursive 函数里做 iconv('gbk', 'utf-8', $value) 编码转换
------解决方案--------------------
一般要这么写,你自己再封装一下
PHP code
$ar = array (  '这里是 GBK 编码的数据',  array(    '这是一个测试',    '这还是一个测试',  ),);echo $s = json_encode( array_map('gb2utf',$ar));print_r(array_map('utf2gb', json_decode($s)));function gb2utf($v) {  if(! is_array($v)) return iconv('gbk', 'utf-8', $v);  foreach($v as &$t) $t = gb2utf($t);  return $v; }function utf2gb($v) {  if(! is_array($v)) return iconv('utf-8', 'gbk', $v);  foreach($v as &$t) $t = utf2gb($t);  return $v; }<br><font color="#e78608">------解决方案--------------------</font><br>首先将数组转成utf-8的就可以编码中文了,没必要去写很多其它代码<div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci tentang penggunaan pulangan dalam bahasa C Penjelasan terperinci tentang penggunaan pulangan dalam bahasa C Oct 07, 2023 am 10:58 AM

Penggunaan pulangan dalam bahasa C ialah: 1. Untuk fungsi yang jenis nilai pulangannya adalah batal, anda boleh menggunakan pernyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal 2. Untuk fungsi yang jenis nilai pulangannya tidak batal, fungsi bagi penyataan pulangan adalah untuk menamatkan pelaksanaan fungsi Hasilnya dikembalikan kepada pemanggil 3. Menamatkan pelaksanaan fungsi lebih awal, kita boleh menggunakan penyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal jika fungsi tidak mengembalikan nilai.

Gabungan golang WebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Gabungan golang WebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Dec 17, 2023 pm 03:06 PM

Gabungan golangWebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Dalam pembangunan Web moden, penghantaran data masa nyata menjadi semakin penting. WebSocket ialah protokol yang digunakan untuk mencapai komunikasi dua hala Tidak seperti model respons permintaan HTTP tradisional, WebSocket membenarkan pelayan untuk menolak data secara aktif kepada klien. JSON (JavaScriptObjectNotation) ialah format ringan untuk pertukaran data yang ringkas dan mudah dibaca.

Apakah perbezaan antara MySQL5.7 dan MySQL8.0? Apakah perbezaan antara MySQL5.7 dan MySQL8.0? Feb 19, 2024 am 11:21 AM

MySQL5.7 dan MySQL8.0 ialah dua versi pangkalan data MySQL yang berbeza Terdapat beberapa perbezaan utama antara mereka: Peningkatan prestasi: MySQL8.0 mempunyai beberapa peningkatan prestasi berbanding MySQL5.7. Ini termasuk pengoptimum pertanyaan yang lebih baik, penjanaan pelan pelaksanaan pertanyaan yang lebih cekap, algoritma pengindeksan yang lebih baik dan pertanyaan selari, dsb. Penambahbaikan ini boleh meningkatkan prestasi pertanyaan dan prestasi keseluruhan sistem. Sokongan JSON: MySQL 8.0 memperkenalkan sokongan asli untuk jenis data JSON, termasuk penyimpanan, pertanyaan dan pengindeksan data JSON. Ini menjadikan pemprosesan dan memanipulasi data JSON dalam MySQL lebih mudah dan cekap. Ciri transaksi: MySQL8.0 memperkenalkan beberapa ciri transaksi baharu, seperti atomic

Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON May 04, 2024 pm 06:15 PM

Kaedah pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON termasuk: menggunakan sambungan JSON dan fungsi json_encode() menambah pilihan JSON_UNESCAPED_UNICODE untuk mengelakkan aksara melarikan diri menggunakan penimbal untuk meningkatkan prestasi pengekodan JSON; Pustaka pengekodan JSON.

Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON Jan 13, 2024 am 10:15 AM

Permulaan Pantas: Kaedah Pandas membaca fail JSON, contoh kod khusus diperlukan Pengenalan: Dalam bidang analisis data dan sains data, Pandas ialah salah satu perpustakaan Python yang penting. Ia menyediakan fungsi yang kaya dan struktur data yang fleksibel, serta boleh memproses dan menganalisis pelbagai data dengan mudah. Dalam aplikasi praktikal, kita sering menghadapi situasi di mana kita perlu membaca fail JSON. Artikel ini akan memperkenalkan cara menggunakan Panda untuk membaca fail JSON dan melampirkan contoh kod tertentu. 1. Pemasangan Panda

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? May 06, 2024 pm 10:09 PM

Anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahserilangan JSON: Pensirilan: @JsonIgnore: Abaikan harta @JsonProperty: Tentukan nama @JsonGetter: Gunakan kaedah get @JsonSetter: Gunakan kaedah yang ditetapkan Deserialization: @JsonIgnoreProperties: Abaikan harta @ JsonProperty: Nyatakan nama @JsonCreator: Gunakan pembina @JsonDeserialize: Logik tersuai

Cara mengendalikan format data XML dan JSON dalam pembangunan C# Cara mengendalikan format data XML dan JSON dalam pembangunan C# Oct 09, 2023 pm 06:15 PM

Cara mengendalikan format data XML dan JSON dalam pembangunan C# memerlukan contoh kod khusus Dalam pembangunan perisian moden, XML dan JSON ialah dua format data yang digunakan secara meluas. XML (Extensible Markup Language) ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data, manakala JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Dalam pembangunan C#, kami selalunya perlu memproses dan mengendalikan data XML dan JSON Artikel ini akan memfokuskan pada cara menggunakan C# untuk memproses kedua-dua format data ini dan melampirkan

Gunakan fungsi json.MarshalIndent dalam golang untuk menukar struktur kepada rentetan JSON yang diformatkan Gunakan fungsi json.MarshalIndent dalam golang untuk menukar struktur kepada rentetan JSON yang diformatkan Nov 18, 2023 pm 01:59 PM

Gunakan fungsi json.MarshalIndent dalam golang untuk menukar struktur menjadi rentetan JSON yang diformatkan Apabila menulis program dalam Golang, kita selalunya perlu menukar struktur menjadi rentetan JSON Dalam proses ini, fungsi json.MarshalIndent boleh membantu kita output berformat. Di bawah ini kami akan menerangkan secara terperinci cara menggunakan fungsi ini dan memberikan contoh kod khusus. Mula-mula, mari buat struktur yang mengandungi beberapa data. Berikut adalah petunjuk

See all articles