php利用嵌套数组拼接与解析json的方法

利用嵌套数组   拼接混合json -包含对象数组

<?php 

// 自 PHP 5.4 起
$array = [
  "status" => "0",
  "message" => "ok",
  "arr"=> []
]; 

class Person {
  public $name;
  public $age;  

  //定义一个构造方法初始化赋值
  public function __construct($name,$age) {
    $this->name=$name;
    $this->age=$age;
  }
}  

for($i=0;$i<10;$i++)
{
  $p=new Person("ren",$i);
  $array["arr"][]=$p;
} 

//var_dump($array); 

echo json_encode($array); 

?>

php利用嵌套数组  解析混合json  包含对象数组

<?php
function json_to_array($web) {
  $arr=array();
  foreach($web as $k=>$v) {
    if(is_object($v)) $arr[$k]=json_to_array($v); //判断类型是不是object
    else $arr[$k]=$v;
  }
  return $arr;
}
$s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';
//将字符转成JSON
$web=json_decode($s);
$arr=array();
foreach($web as $k=>$v)
  $arr[$k]=$v;
echo "<pre>";
print_r($arr);
echo "</pre>";  

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
$arr=json_to_array($web);
echo "<pre>";
print_r($arr);
echo "</pre>";  

/************************************************************************
************************************************************************/
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo '网站名称:'.$web->webname.'<br />网址:'.$web->url.'<br />联系方式:QQ-'.$web->contact->qq.' MAIL:'.$web->contact->mail;
echo '<br /><br />';
/************************************************************************
************************************************************************/
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo json_encode($web);  

$mys='{"status":"0","message":"ok","arr":[{"name":"ren","age":0},{"name":"ren","age":1},{"name":"ren","age":2},
{"name":"ren","age":3},{"name":"ren","age":4},{"name":"ren","age":5},{"name":"ren","age":6},{"name":"ren","age":7},
{"name":"ren","age":8},{"name":"ren","age":9}]}'; 

$myweb=json_decode($mys);  

echo $myweb->status; 

for($i=0;$i<10;$i++)
{
 echo $myweb->arr[$i]->age;
 echo '<br /><br />';
}
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 探讨js字符串数组拼接的性能问题

    我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制代码 代码如下: var text="Hello";  text+=" World!"; 早期浏览器没有对这种运算进行优化. 由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果.频繁地在后台创建和销毁字符串导制性能异常低下. 因此,可以利用数组对象进行优化. 例如: var buffer=[],i=0; buffer[i++]="Hello"; //通过相应索引值添加元

  • js求数组中全部数字可拼接出的最大整数示例代码

    前言 最近在工作碰到一个问题,就是用javascript求数组中所有数字能拼接出的最大整数,数组的每一项为单独的拼接项,不能再拆开,例如[2,34]中2和34分别为要被拼接的数字,而不是说34还能继续拆分为3和4. 具体需求为,将[7,321,35,4]拼接为7435321.下面话不多说了,来一起看看详细的实现方法吧. 我设计的算法如下: function insertSort(arr) { let res = [arr[0]]; for (let i = 1, len = arr.length

  • php利用嵌套数组拼接与解析json的方法

    利用嵌套数组   拼接混合json -包含对象数组 <?php // 自 PHP 5.4 起 $array = [ "status" => "0", "message" => "ok", "arr"=> [] ]; class Person { public $name; public $age; //定义一个构造方法初始化赋值 public function __construct

  • Android中gson、jsonobject解析JSON的方法详解

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, ke

  • 使用JSONObject生成和解析json的方法

    1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组 Object 对象 null 空值 (1)json中不区分整数.小数等类型,而统一使用Number来存储数字. (2)Array表示数组,以中括号"[]"括起来,元素之间以逗号分隔,元素可以为任意类型. (3)Object表示对象,类似于C语言中的结构体,以花括号"{}"括起来,其元素要求为键值对,key必须为String类型的,而value则

  • C++解析Json的方法详解【jsoncpp】

    本文实例讲述了C++解析Json的方法.分享给大家供大家参考,具体如下: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录. Jsoncpp是个跨平台的开源库,下载地址:http://sourceforge.net/projects/jsoncpp/,我下载的是v0.5.0,压缩包大约104K. 方法一:使用Jsoncpp生成的lib文件 解压上面下载的Jsoncpp

  • Python学习笔记之解析json的方法分析

    本文实例讲述了Python解析json的方法.分享给大家供大家参考,具体如下: 刚学习到Python中解析json的方法,觉得有必要在这里坐下笔记. 我是在python的内部环境中看的 Encoding basic Python object hierarchies >>> import json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar&q

  • mysql(5.6及以下)解析json的方法实例详解

    mysql(5.6及以下)解析json #json解析函数 DELIMITER $$ DROP FUNCTION IF EXISTS `json_extract_c`$$ CREATE FUNCTION `json_extract_c`( details TEXT, required_field VARCHAR (255) ) RETURNS TEXT CHARSET latin1 BEGIN SET details = SUBSTRING_INDEX(details, "{", -1

  • C++使用jsoncpp解析json的方法示例

    前言: 曾经一段时间XML成为互联网业界内的数据传输格式标准,但有人对XML提出了质疑,认为XML数据格式比较繁杂,冗长等,于是提出了一种新的表示格式-JSON. 对于JSON格式,在此就不作详细的说明了,下面主要讨论下C++解析json文件的工具-Jsoncpp的使用. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录. Jsoncpp是个跨平台的开源库,下载地址:

  • 详解Python使用simplejson模块解析JSON的方法

    1,Json模块介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)

  • jQuery怎么解析Json字符串(Json格式/Json对象)

    json数据是我们常用的一种小型的数据实时交换的一个东西,他可以利用jquery或js进行解析,下面我来介绍jquery解析json字符串方法. 我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. 上例中得到的JSON数据如下,是一个嵌套JSON: { "comments": [ { "content": "很不错嘛", "id": 1, "nickname&

  • jquery解析json格式数据的方法(对象、字符串)

    本文实例讲述了jquery解析json格式数据的方法.分享给大家供大家参考,具体如下: json数据是我们常用的一种小型的数据实时交换的一个东西,他可以利用jquery或js进行解析,下面我来介绍jquery解析json字符串方法. 一.jQuery解析Json数据格式: 使用这种方法,你必须在Ajax请求中设置参数: dataType: "json" 获取通过回调函数返回的数据并解析得到我们想要的值,看源码: jQuery.ajax({ url: full_url, dataType

随机推荐