在php中操作json对象,php操作json文件

本文目录一览:

如何在PHP中解析json

目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。

一、json_encode()

该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:

$arr = array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);

echo json_encode($arr);

结果为

{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}

由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。

二、索引数组和关联数组

PHP支持两种数组,一种是只保存”值”(value)的索引数组(indexed array),另一种是保存”名值对”(name/value)的关联数组(associative array)。

由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

比如,现在有一个索引数组

$arr = Array(‘one’, ‘two’, ‘three’);

echo json_encode($arr);

结果为:

[“one”,”two”,”three”]

三、类(class)的转换

下面是一个PHP的类: class Foo { const ERROR_CODE = ‘404’; public $public_ex = ‘this is public’; private $private_ex = ‘this is private!’; protected $protected_ex = ‘this should be protected’; public function getErrorCode() { return self::ERROR_CODE; } }

现在,对这个类的实例进行json转换:

$foo = new Foo;

$foo_json = json_encode($foo);

echo $foo_json;

输出结果是

{“public_ex”:”this is public”}

可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。

php如何接收js传来的json对象

你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!

你发的代码里是json的解析,没有多大意义,你在php页面这样调试

var_dump($_REQUEST);//输出所有数据,如果存在的话,你会看到那个参数是啥

另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.

php的数组操作函数有主要的两个json_encode()与json_decode();

从你的代码中,我不确定你用何种方式通信,ajax?

我看你用到了jQuery,那里面有个ajax,方式类似这样的:

$.ajax({

type: “post”,       //method;can be get with post or request

url: “/mySever.php”,//php url

error: function(){alert(‘Error’);},

data: {

data1:   name,

data2:   age,

}, 

datatype:”json”,//json back

timeout: 5000,

success: function(msg)

{

//eval(msg);//parase here

}

});

return false;

}

JSON PHP中,Json字符串反序列化成对象/数组的方法

如下所示:

?php

//php反编码解析json信息

//json_decode(json字符串);

$city

=

array(‘shandong’=’jinan’,’henan’=’zhengzhou’,’hebei’=’shijiazhuang’);

$jn_city

=

json_encode($city);

//反编码json

$fan_city

=

json_decode($jn_city,false);//第二个参数false则返回object类型,false可以默认不写

var_dump($fan_city);//object(stdClass)#1

(3)

{

[“shandong”]=

string(5)

“jinan”

[“henan”]=

string(9)

“zhengzhou”

[“hebei”]=

string(12)

“shijiazhuang”

}

echo

“br

/”;

$fan_city

=

json_decode($jn_city,true);//第二个参数true则返回array类型

var_dump($fan_city);//array(3)

{

[“shandong”]=

string(5)

“jinan”

[“henan”]=

string(9)

“zhengzhou”

[“hebei”]=

string(12)

“shijiazhuang”

}

手动写的JSON字符串一定要用单引号才能成功反序列化成对象/数组:

?php

//json信息反编码

//不同php版本,对“纯json字符串”解析存在问题

//使用双引号定义的json字符串反编码操作变为null

//$jn

=

“{‘name’:’tom’,’age’:’20’,’addr’:’beijing’}”;

//$fan_jn

=

json_decode($jn,true);

//var_dump($fan_jn);//NULL

//使用单引号定义的json字符串反编码操作会成功

$jn

=

‘{“name”:”tom”,”age”:”20″,”addr”:”beijing”}’;

$fan_jn

=

json_decode($jn,true);

var_dump($fan_jn);

以上这篇JSON

PHP中,Json字符串反序列化成对象/数组的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:C#实现JSON字符串序列化与反序列化的方法jquery序列化form表单使用ajax提交后处理返回的json数据js解析与序列化json数据(二)序列化探讨Json序列化和反序列化方法解析Jquery

组合form元素为json格式,asp.net反序列化jQuery实现form表单元素序列化为json对象的方法浅析JSON序列化与反序列化JS实现json的序列化和反序列化功能示例js解析与序列化json数据(三)json的解析探讨JavaScript实现的反序列化json字符串操作示例

浅谈PHP中JSON数据操作

JSON,全称是JavaScript

Object

Notation。它是基于JavaScript编程语言ECMA-262

3rd

Edition-December

1999标准的一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。跟XML相类似,它独立语言,在跨平台数据传输上有很大的优势

新建文件json.php,先做encode操作:

//encode

//生成JSON格式数据

$arr

=

array(1,2,3,4,5,6,7,8,9,’Hello’,’PHP’);

echo

json_encode($arr);//json_encode:把一个对象转换成json格式数据

得到的结果是[1,2,3,4,5,6,7,8,9,”Hello”,”PHP”]

再来做decode操作:

//decode

解码

$jsonStr

=

‘{“h”:”Hello”,”w”:”World”,”0″:[3,2,1]}’;

$obj

=

json_decode($jsonStr);

echo

$obj-h;//使用成员访问的方式就可以得到结果

知道简单的使用方法后,可以尝试着抓API数据,比如天气…

以上所述就是本文的全部内容了,希望大家能够喜欢。

php如何返回json对象呢

返回json用的json_encode()方法没错,但是需要在头部声明格式。

代码解析

php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)

所以,这里需要在php头部声明

header(‘Content-Type:text/json;charset=utf-8’);

拓展内容

json

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json通常被作为配置文件,常见还有.ini

如何在php中正确的使用json

将json字符串解析成对象:

$json = ‘{“a”:1,”b”:2}’;

$obj = json_decode($json);

echo $obj-a;//1

echo $obj-b;//2

将对象转为json字符串

echo json_encode(array(‘a’=1,’b’=2));//{“a”:1,”b”:2}

原创文章,作者:YKLUQ,如若转载,请注明出处:https://www.506064.com/n/329759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
YKLUQYKLUQ
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29

发表回复

登录后才能评论