zoukankan      html  css  js  c++  java
  • Zend_Json 简介 --(手冊)


    1.  简单介绍


    Zend_Json 提供一个方便的方式来串联(native的)PHP(的变量)和JSON,并将JSON(对象)解码到PHP中。


    2.  基本使用方法


    Zend_Json的使用包含使用现有的两个公共的static方法 : Zend_Json::encode() 和Zend_Json::decode().

    // 获得一个value:
    $phpNative = Zend_Json::decode($encodedValue);
    // 编码并返回给client:
    $json = Zend_Json::encode($phpNative);

    3.  JSON对象

     

    JSON不同意对象引用,能够将JSON对象解码作为关联数组,而且返回一个对象。

     

    // 解码 JSON 对象作为 PHP 对象
    $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);


    4.  XML到JSON的转换

     

    Zend_Json 包含一个叫做 Zend_Json::fromXml() 的静态方法,它将从给定的 XML 的输入生成 JSON。

    调用函数示范:

    // fromXml function simply takes a String containing XML contents as input.
    $jsonContents = Zend_Json::fromXml($xmlStringContents, true);?>

        Zend_Json::fromXml() 函数运行XML 格式的字符串输入和返回等同的 JSON 格式字符串的输出的转换,假设有不论什么 XML 输入格式错误或者转换逻辑错误,它将抛出一个异常。

    转换逻辑也使用递归技术来遍历XML 树。它支持 25 级递归。假设递归超过这个深度,它将抛出一个 Zend_Json_Exception

    XML输入字符串传递给 Zend_Json::fromXml() 函数:

    <?xml version="1.0" encoding="UTF-8"?>
    <books>
        <book id="1">
            <title>Code Generation in Action</title>
            <author><first>Jack</first><last>Herrington</last></author>
            <publisher>Manning</publisher>
        </book>
     
        <book id="2">
            <title>PHP Hacks</title>
            <author><first>Jack</first><last>Herrington</last></author>
            <publisher>O'Reilly</publisher>
        </book>
     
        <book id="3">
            <title>Podcasting Hacks</title>
            <author><first>Jack</first><last>Herrington</last></author>
            <publisher>O'Reilly</publisher>
        </book>
    </books> ?

    >


    从 Zend_Json::fromXml() 函数返回的 JSON 输出字符串:

    {
       "books" : {
          "book" : [ {
             "@attributes" : {
                "id" : "1"
             },
             "title" : "Code Generation in Action",
             "author" : {
                "first" : "Jack", "last" : "Herrington"
             },
             "publisher" : "Manning"
          }, {
             "@attributes" : {
                "id" : "2"
             },
             "title" : "PHP Hacks", "author" : {
                "first" : "Jack", "last" : "Herrington"
             },
             "publisher" : "O'Reilly"
          }, {
             "@attributes" : {
                "id" : "3"
             },
             "title" : "Podcasting Hacks", "author" : {
                "first" : "Jack", "last" : "Herrington"
             },
             "publisher" : "O'Reilly"
          }
       ]}
    }  ?>
     
        
     


    
       
    
  • 相关阅读:
    10年测试专家深度解读接口测试
    测试技术大牛谈成长经历:一个好的软件测试工程师应该做到这些!
    一位测试老鸟的工作经验分享
    又一名程序员倒下,网友:我们只是新时代农民工
    软件测试工程师这样面试,拿到offer的几率是80%
    App测试流程及测试点(个人整理版)
    自动化测试是什么?
    软件测试工程师的职业技能分析
    月薪15k的测试员需要学习什么技术?
    面向对象
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6902025.html
Copyright © 2011-2022 走看看