danharper / jsonx
JSONx是IBM用于将JSON表示为XML的标准
v0.1.0
2015-11-22 16:07 UTC
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-09-05 09:29:10 UTC
README
这是一个实现IBM标准格式的库,用于将JSON表示为XML。提供对JSONx的读取和写入支持。JSONx规范草案可以在此处找到。
为什么?! 这也是我最初的反应。然而,当你尝试将一个使用JSON的系统与另一个使用XML的系统集成时,它非常有用,而不需要做出可能很大的更改。
安装
composer require danharper/jsonx
用法
$jsonx = new danharper\JSONx\JSONx; $jsonx->toJSONx([ 'foo' => [ 'bar', true, 2, 3.14, null, [], (object) [] ] ]); /* <?xml version="1.0" encoding="UTF-8"?> <json:object xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx" xsi:schemaLocation="http://www.datapower.com/schemas/json jsonx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <json:array name="foo"> <json:string>bar</json:string> <json:boolean>true</json:boolean> <json:number>2</json:number> <json:number>3.14</json:number> <json:null/> <json:array/> <json:object/> </json:array> </json:object> */ $jsonx->fromJSONx(' <?xml version="1.0" encoding="UTF-8"?> <json:object xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx" xsi:schemaLocation="http://www.datapower.com/schemas/json jsonx.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <json:array name="foo"> <json:string>bar</json:string> <json:boolean>true</json:boolean> <json:number>2</json:number> <json:number>3.14</json:number> <json:null/> <json:array/> <json:object/> </json:array> </json:object> '); /* object(stdClass)#180 (1) { ["foo"]=> array(7) { [0]=> string(3) "bar" [1]=> bool(true) [2]=> int(2) [3]=> float(3.14) [4]=> NULL [5]=> array(0) { } [6]=> object(stdClass)#173 (0) { } } } */
集成
想要仅通过一个中间件将完整的XML支持添加到你的Laravel API吗?请查看danharper/laravel-jsonx
。
想要自动转换你的PSR-7兼容的消息吗?请查看danharper/psr7-jsonx
。