GVKun编程网logo

php 输出json及显示json中的中文汉字详解及实例(php输出json输出中文)

9

在这篇文章中,我们将为您详细介绍php输出json及显示json中的中文汉字详解及实例的内容,并且讨论关于php输出json输出中文的相关问题。此外,我们还会涉及一些关于easyUI这样获取Json的

在这篇文章中,我们将为您详细介绍php 输出json及显示json中的中文汉字详解及实例的内容,并且讨论关于php输出json输出中文的相关问题。此外,我们还会涉及一些关于easyUI这样获取Json的内嵌数据 显示json下的json、Java 使用json-lib处理JSON详解及实例代码、javascript – json中没有显示json数据、jquery – getJSON到console.log()输出json结构的知识,以帮助您更全面地了解这个主题。

本文目录一览:

php 输出json及显示json中的中文汉字详解及实例(php输出json输出中文)

php 输出json及显示json中的中文汉字详解及实例(php输出json输出中文)

php 输出json及显示json中的中文汉字

在php中,我们经常需要将数组输出json,只需要使用json_encode函数处理一下数组即可,但有的时候数组里面有中文,使用json_encode函数处理后中文字符被编码成了Unicode,如何才能在json中显示中文呢?请看下文。

首先介绍一下php输出json格式:

一种最简单的用法,就是把数组直接输出为json,如下:

<?php
$arr = array(''p1''=>''ni"hao'',''p2''=>2,''ch''=>''码农你好!'');
$json = json_encode($arr);
echo $json;
?>

输出的结果为:

{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}

这里要注意:

双引号在json中会被自动编码为\",这个很好理解,js中字符串中是不允许出来单引号、双引号和反斜杠的。
中文字符被编码成了Unicode

如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把Unicode的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。

<?php
$arr = array(''p1''=>''nihao'',''p2''=>2,''ch''=>''码农你好!'');
$json = json_encode($arr);
echo decodeUnicode($json);

function decodeUnicode($str){
  return preg_replace_callback(''/\\\\u([0-9a-f]{4})/i'',
    create_function(
      ''$matches'',
      ''return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");''
    ),
    $str);
}
?>

输出:

{"p1":"ni\"hao","p2":2,"ch":"码农你好!"}

这个操作很简单,其实就是把输出结果匹配一下,把Unicode还原成了汉字。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:
  • php实现的http请求封装示例
  • php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
  • php 时间time与日期date之间的使用详解及区别
  • 深入了解PHP中的Array数组和foreach
  • PHP运行模式汇总
  • PHP数组的定义、初始化和数组元素的显示实现代码
  • PHP中获取文件创建日期、修改日期、访问时间的方法
  • PHP利用超级全局变量$_GET来接收表单数据的实例
  • PHP利用超级全局变量$_POST来接收表单数据的实例
  • php使用file函数、fseek函数读取大文件效率对比分析
  • 前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
  • PHP获取访问页面HTTP状态码的实现代码
  • PHP之将POST数据转化为字符串的实现代码

easyUI这样获取Json的内嵌数据 显示json下的json

easyUI这样获取Json的内嵌数据 显示json下的json

先给出返回的json数据。

{
    "total": "2",
    "rows": [
        {
            "id": "1",
            "name": "张富银",
            "xiuhao": "2014009012",
            "exttend": {
                "sid": "1",
                "tid": "1",
                "tel": "18580711609",
                "qq": "564968550",
                "email": "myfirtyou@qq.com",
                "sxdw": "重庆源代码教育咨询有限公司",
                "sxdw_add": "重庆市永川区",
                "jjlxrtel": "15922879092"
            }
        },
        {
            "id": "4",
            "name": "测试学生姓名",
            "xiuhao": "2014009013",
            "exttend": {
                "sid": "4",
                "tid": "1",
                "tel": "1234567890",
                "qq": "12345",
                "email": "test@qq.com",
                "sxdw": "实习单位",
                "sxdw_add": "单位地址",
                "jjlxrtel": "1234567890"
            }
        }
    ]
}

昨天遇到这样一个问题,在取exttend里面的信息时,我使用了 如下的方式:

{
      field: ''sxdw'' ,
      title: ''实习单位'' ,
      width: 60,
      formatter: function (value, rec) {
          return rec.extend.sxdw;
      }
  },

这样可以取出sxdw的值,但是账号类型,性别也显示实习单位地址的值。不知道问题出在哪,在网上搜索,看到给出的解决办法都是返回 rec.extend.sxdw;这样,但是只返回一个字段,这样肯定可以返回正确的值了,但是我要返回的是很多个字段。真是没办法了,就随便试 试吧,我把field:’sxdw’改成field:’extend.sxdw,再运行一次,竟然得到了我想要的结果。

下面是完整的代码:

 1 $(''#student_list'').datagrid({
 2         fit:true,
 3         fitColumns : true,
 4         rownumbers : true,
 5         border : false,
 6         striped : true,
 7         url:Thinkphp[''MODULE'']+''/student/getInfo/'',
 8         toolbar : ''#student_tool'',
 9         rownumbers:true,//显示行号
10         pagination:true,//显示分页工具条
11         pageList : [15, 30, 45],
12         pageNumber : 1,
13         pageSize : 15,
14         sortName : ''id'',
15         sortOrder : ''ASC'',        
16         columns:[[  
17              {
18                 field:''id'',
19                 title:''编号'',
20                 checkbox:true,
21                 width:100,
22             },{
23                 field:''name'',
24                 title:''姓名'',
25                 sortable:true,
26                 width:100,
27             },{
28                 field:''xiuhao'',
29                 title:''学号'',
30                 sortable:true,
31                 width:100,
32             },{
33                 field:''exttend.teacher'',
34                 title:''指导教师'',
35                 sortable:true,
36                 width:100,
37             },    
38             {
39                 field:''exttend.tel'',
40                 title:''电话'',
41                 sortable:true,
42                 width:100,
43                 formatter: function (value, rec) {
44                     return rec.exttend[''tel''];
45                 }
46             },{
47                 field:''exttend.qq'',
48                 title:''QQ'',
49                 width:80,
50                 formatter: function (value, rec) {
51                     return rec.exttend[''qq''];
52                 }
53             },{
54                 field:''exttend.email'',
55                 title:''电子邮件'',
56                 width:100,
57                 formatter: function (value, row) {
58                         return row.exttend.email;
59                 }
60             },{
61                 field:''exttend.sxdw'',
62                 title:''实习单位'',
63                 width:150,
64                 formatter: function (value, row) {
65                         return row.exttend.sxdw;
66                 }
67             }, {
68                 field:''exttend.sxdw_add'',
69                 title:''实习单位地址'',
70                 width:150,
71                 formatter: function (value, row) {
72                         return row.exttend.sxdw_add;
73                 }
74             },{
75                 field:''exttend.jjlxrtel'',
76                 title:''紧急联系人电话'',
77                 width:100,
78                 formatter: function (value, row) {
79                         return row.exttend.jjlxrtel;
80                 }
81             },      
82             ]] 
83     });
View Code

 

Java 使用json-lib处理JSON详解及实例代码

Java 使用json-lib处理JSON详解及实例代码

Java 使用json-lib处理JSON详解

【项目环境】

<dependency> 
  <groupId>net.sf.json-lib</groupId> 
  <artifactId>json-lib</artifactId> 
  <version>2.4</version> 
  <classifier>jdk15</classifier> 
</dependency> 

1. JSON 数组对象转化为 List 对象;

/** 
 * JSON 数组对象转化为 Java 的 List 对象; 
 */ 
private void jsonArrayToList() { 
  // JSON 格式的字符串; 
  String jsonStr = "[{\"id\":2,\"isDelete\":false,\"lastLogin\":1460081728077,\"lastIp\":\"10.0.0.1\",\"nickName\":\"admin2\",\"userName\":\"admin2\",\"password\":\"password\"},{\"id\":1,\"nickName\":\"Shawearn\",\"userName\":\"shawearn\",\"password\":\"password\"}]"; 
  // 根据 JSON 字符串生成 JSON 数组对象; 
  JSONArray jsonArray = JSONArray.fromObject(jsonStr); 
  // JSON 数组对象转化为 List<Admin> 对象; 
  List<Admin> admins = JSONArray.toList(jsonArray,Admin.class); 
} 

2. List 转化为 JSON 数组对象;

/** 
 * List 转化成 JSON 数组对象; 
 * 
 * @param admins 
 */ 
private void listToJSONArray(List<Admin> admins) { 
  // 构建 JSONArray 实例对象; 
  JSONArray jsonArray = new JSONArray(); 
  // 判空 
  if (admins != null && admins.size() != 0) { 
    // 遍历,将 List 中的对象存入 JSONArray 对象中; 
    for (Admin admin : admins) { 
      jsonArray.add(admin); 
    } 
  } 
} 

3. Java 对象转化为 JSON 对象;

/** 
 * Java 对象转化成 JSON 对象; 
 * 
 * @param admin 
 */ 
private void entityToJson(Admin admin) { 
  // 新建 JSONObject 的实例化对象; 
  JSONObject jsonObject = new JSONObject(); 
  // 将 admin 对象存入 jsonObject; 
  jsonObject.element("admin",admin); 
} 

4.  Admin.java

package com.shawearn.model; 
public class Admin { 
  private Integer id; 
  private String userName; 
  private String password; 
  private Boolean isDelete; 
  private String nickName; 
  private String lastIp; 
  private Long lastLogin; 
   
  /** 
   * 省略相应 get/set 方法; 
   */ 
} 

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • 使用Ajax或Easyui等框架时的Json-lib的处理方案
  • json-lib将json格式的字符串,转化为java对象的实例
  • json-lib出现There is a cycle in the hierarchy解决办法
  • 将Java对象序列化成JSON和XML格式的实例
  • java将XML文档转换成json格式数据的示例
  • Java的微信开发中使用XML格式和JSON格式数据的示例
  • 解决使用json-lib包实现xml转json时空值被转为空中括号的问题

javascript – json中没有显示json数据

javascript – json中没有显示json数据

Html代码是:

<select  name="ser" id="ser"onchange="getPrice(this.value);">
<option value="">--Select--</option>
<option value="Value11">Value1</option>
<option value="Value2">Value2</option>
</select>
<input type="text" name="sale" id="saleprice"/>
<input type="text" name="sale" id="saletax"/>
<input type="text" name="sale" id="avalqty"/>

在我的Js页面上:

function getPrice(val)
{
   $.ajax({
     type: 'post',
     url: 'get_sales_price.PHP',
     data: {
       get_option:val
     },
     success: function (response) {
        var valuesar = response.split("|");
        $('#saleprice').val(valuesar[0]);
        $('#saletax').val(valuesar[1]);
        $('#avalqty').val(valuesar[2]);
     }
   });
}

这是我的PHP页面数据:

$data = array();    
$values=$variable1['value1'].'|'.$variable2['value2'].'|'.$variable3;
array_push($data, $values);
echo json_encode($data);

#saleprice的值为:[“61.25,#avalqty上的值为:155”],#saletax上的值为:1.#saletax值正确..
如何将#saleprice:[“61.25 to 61.25和#avalqty:155”]改为155

解决方法:

我认为你可以做的是从服务器返回一个键值对象,并在成功处理程序中使用它.在您的情况下,您将返回一个具有单个字符串值的数组

$data = array();    
$data['price'] = $variable1['value1'];
$data['tax'] = $variable2['value2'];
$data['qty'] = $variable3;
echo json_encode($data);

然后

function getPrice(val) {
  $.ajax({
    type: 'post',
    url: 'get_sales_price.PHP',
    data: {
      get_option: val
    },
    dataType: 'json',
    success: function(response) {
        console.log(response)
      $('#saleprice').val(response.price);
      $('#saletax').val(response.tax);
      $('#avalqty').val(response.qty);
    }
  });
}

jquery – getJSON到console.log()输出json结构

jquery – getJSON到console.log()输出json结构

我有以下代码获取json数据:
$.getJSON( "assessments",function( assessments ) {
    console.log(assessments);
        });

我完全获取所有的数据,但控制台输出为

[Object,Object,Object]

我想输出JSON结构中的值,如下所示:

[
{
    "id": 1,"person": {
        "personId": "person1","firstName": "Pactric"
    },"manager": {
        "managerId": "manager1"
    },"state": {
        "stateId": 1,"description": null
    },"comments": null
}
]

如何console.log()使这些数据完全按照上面的JSON结构显示?
我使用$ .getJSON NOT $ .ajax为这个应用程序。

解决方法

试试
console.log(JSON.stringify(assessments));

今天的关于php 输出json及显示json中的中文汉字详解及实例php输出json输出中文的分享已经结束,谢谢您的关注,如果想了解更多关于easyUI这样获取Json的内嵌数据 显示json下的json、Java 使用json-lib处理JSON详解及实例代码、javascript – json中没有显示json数据、jquery – getJSON到console.log()输出json结构的相关知识,请在本站进行查询。

本文标签: