php json转换成数组形式代码分享

2014-09-09  来源:本站原创  分类:php技巧  人气:0 

这篇文章主要介绍了php json转换成数组形式代码分享,需要的朋友可以参考下

写的json转换成数组的一个类和方法,实际上写的方法可以把大部分包含json字符串的数据结构转换成数组,上代码:

class antiTranJson

{

  protected  static function jsonToArray($json)

  {

    if(!is_string($json) || is_null(json_decode($json, true)))

      throw new NotJsonStringException('param is not a json string');

    $deJson = json_decode($json, true);

    return self::toArray($deJson);

  }
  protected  static function stdClassToArray($stds)

  {

    if(is_object($stds))

      throw new NotObjectException('params not object');

    $params = get_object_vars($stds);

    return self::toArray($params);

  }
  protected  static function arrayRToArray($params)

  {

    $tmp = array();

    if(!is_array($params))

      throw new NotArrayException('params not array');

    foreach($params as $k=>$v)

    {

      $tmp[$k] = self::toArray($v);

    }

    //var_dump($tmp);

    return $tmp;

  }
  //调用这个方法,包含json的数据均可以被转换

  public static function toArray($params)

  {

    $tmp = array();

    if(is_string($params) && !is_null(json_decode($params)))

      $tmp = self::jsonToArray($params);

    elseif(is_array($params))

      $tmp = self::arrayRToArray($params);

    //这里注意一下,假如$params 是一个对象,只有包含的属性是可读取(public或者临时的对象属性)的时候才能实现转换

    elseif(is_object($params))

      $tmp = self::stdClassToArray($params);

    else

      $tmp = $params;

    return $tmp;

  }

以上就是相关代码,至少目前用的时候还是可以得,如果各位有好的建议,希望大家讨论讨论,共同进步,谢谢

相关文章
  • php json转换成数组形式代码分享 2014-09-09

    这篇文章主要介绍了php json转换成数组形式代码分享,需要的朋友可以参考下 写的json转换成数组的一个类和方法,实际上写的方法可以把大部分包含json字符串的数据结构转换成数组,上代码: class antiTranJson { protected static function jsonToArray($json) { if(!is_string($json) || is_null(json_decode($json, true))) throw new NotJsonStringExc

  • js中将HTMLCollection/NodeList/伪数组转换成数组的代码 2014-05-05

    js中将HTMLCollection/NodeList/伪数组转换成数组的代码,需要的朋友可以参考下. 这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments . 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName()

  • PHP使用JSON和将json还原成数组 2015-03-01

    这篇文章主要介绍了PHP使用JSON和将json还原成数组的方法和示例分析,需要的朋友可以参考下 在之前我写过php返回json数据简单实例,刚刚上网,突然发现一篇文章,也是介绍json的,还挺详细,值得参考.内容如下 从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码. 一.json_encode() <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=&

  • json转换成java对象示例 2013-10-18

    这篇文章主要介绍了json转换成java对象示例,需要的朋友可以参考下 json字符串转Java对象有很多工具可以使用,下面的小例子只是我练手的 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.jfinal.kit.JsonKit; public class JsonToJavaObject { public static v

  • 将HTMLCollection/NodeList/伪数组转换成数组的实现方法 2013-11-12

    将HTMLCollection/NodeList/伪数组转换成数组的实现方法,需要的朋友可以参考下. 这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments . 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName()

  • 把JSON转换成CSV json2csv 2014-01-01

    json2csv 网站 : https://github.com/zeMirco/json2csv 用json2csv我们可以轻松把JSON转换成CSV. 示例代码: var json2csv = require('json2csv'); json2csv({data: someJSONData, fields: ['field1', 'field2', 'field3']}, function(err, csv) { if (err) console.log(err); console.log

  • python将字符串转换成数组的方法 2014-09-17

    这篇文章主要介绍了python将字符串转换成数组的方法,涉及Python操作字符串与数组的相关技巧,非常具有实用价值,需要的朋友可以参考下 python将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # Name: string_to_array.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This P

  • 解析PHP将对象转换成数组的方法(兼容多维数组类型) 2013-10-21

    本篇文章是对PHP将对象转换成数组的方法(兼容多维数组类型)进行了详细的分析介绍,需要的朋友参考下 /** * @author 脚本之家 * @date 2013-6-21 * @todo 将对象转换成数组 * @param unknown_type $obj * @return unknown */ function object_to_array($obj){ $_arr = is_object($obj) ? get_object_vars($obj) :$obj; foreach ($_

  • 人民币数字转换成大写形式 2013-11-05

    运用了正则表达式的功能,除了可以正确的转换成人民币的大写形式以外,还可以判断输入的形式是否正确有效. 将人民币数字转换成大写形式 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • C#把数字转换成大写金额的代码实例 2014-12-07

    这篇文章主要介绍了C#把数字转换成大写金额的代码实例,例如把200转换成"贰佰元",需要的朋友可以参考下 实现代码: // 例如:(new Money(200)).ToString() == "贰佰元" namespace Skyiv.Util { using System.Text; class Test { static void Main() { for (;;) { System.Console.Write("金额: "); string

  • Python中使用PyQt把网页转换成PDF操作代码实例 2015-01-06

    这篇文章主要介绍了Python中使用PyQt把网页转换成PDF操作代码实例,本文直接给出实现代码,需要的朋友可以参考下 代码很简单,功能也很简单 =w= webpage2pdf #!/usr/bin/env python3 import sys try: from PyQt4 import QtWebKit from PyQt4.QtCore import QUrl from PyQt4.QtGui import QApplication, QPrinter except ImportError

  • 将HTMLCollection/NodeList/伪数组转换成数组 2011-07-18

    这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments . 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeLi

  • js冒泡法和数组转换成字符串示例代码 2014-10-09

    将数组转换成字符串的方法有很多,想必大家也不会陌生,下面为大家讲解下js冒泡法的使用,感兴趣的朋友可以参考下 js代码: window.onload = function(){ var mian = document.getElementById( "mian" ); var mian1 = document.getElementById( "mian1" ); var str = mian.innerHTML; var arry = []; var len = s

  • jquery如何把参数列严格转换成数组实现思路 2015-01-06

    某参数的列只有一个参数,那么each是失败,如何保证pp严格是数组呢,很简单var a=[pp];这一句就行了,感兴趣的朋友可以参考下哈,希望可以帮助到你 如果某参数的列只有一个参数,那么each是失败,请看下面的例子 Java代码: <!DOCTYPE html> <html> <head> <style> p { margin: 8px; font-size:16px; } .selected { color:red; } .highlight { ba

  • android将图片转换存到数据库再从数据库读取转换成图片实现代码 2015-03-11

    有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来 首先,我们要把图片存入到数据库中,首先要创建一个数据库, 如下所示: package com.android.test; import java.io.ByteArrayOutputStream; import android.content.ContentResolver; import android.content

  • List转换成DataSet实现代码 2014-05-04

    怎样把List转换成DataSet本人很是疑惑,于是搜集整理一番,需要的朋友可以参考下 /// <summary> /// List转换成DataSet /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="list">将要转换的List</param> /// <returns></ret

  • js将类数组对象转换成数组对象 2015-02-24

    javascript与dom有许多瑕疵,如著名的类数组对象Arguments,其他诸如HTMLCollection,NodeList如果它们都是数组的子类,那多省时啊. 在标准浏览器中,好像只要对象存在length属性,就能把它转换为数组,但IE就不尽然. [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 接着我们看看各大类库的处理: //jQuery的makeArray var makeArray = function( array ) { var ret = []; if( arr

  • 用js实现的十进制的颜色值转换成十六进制的代码 2013-12-24

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • 运用BSon将数据记录转换成二进制 2012-11-17

    按照惯例,我在这里先介绍一下什么是BSon. BSon是Binary JSON的简称,是一种类Json的一种二进制形式的存储格式.目前Bson主要被MongoDB(目前一个较为流行的非关系数据模型的开源数据库)使用于存储数据和网络数据交换. 下面我们进入正题,介绍一下BSon是怎么把一个个MongoDB的文档转换成二进制形式进行存储的,在此之前读者需要从BSon官网上大致了解一下其解释的规则,链接会在下面的参考资料中给出. 至于介绍的形式,当然是给出例子,为大家讲解每个转换的步骤. 在介绍转换步

  • PHP JSON格式数据交互实例代码详解 2014-08-25

    此前我写了不少在PHP网站开发中应用XML进行数据交互的实例,这两天通过PHP解析JSON并进行交互的实例学习和了解了JSON在PHP中的应用,感觉非常方便. 在PHP中解析JSON主要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP JSON的使用. JSON基础介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON主要有两种结构: "名称/值"对的集合