繁体   English   中英

PHP Json数据格式

[英]Php Json Data format

有一个通过REST JSON发送的curl POST请求示例。

{"email": "sam@email.com", "items": [{ "name": "api Name", "quantity": 10, "unit_price": 2}, { "name": "api 2", "quantity": "4", "unit_price": 3 }] 

}

如何在PHP中格式化它。

我尝试了以下方法:

$data = array(
        'email' => 'john@dow.com', 
        );
$data['items'] = array(
        'name' => 'fruits', 'quantity' => 4,
         'unit_price' => 7,
        );

该服务仅接受email ,而忽略items

items数组是一个对象数组。 您正在显示字符串映射

一个简单的技巧是使用PHP函数json_decode()获得一个PHP数据结构,该数据结构在传递给json_encode()会生成您需要的字符串:

var_export(json_decode(
    '{"email": "sam@email.com", "items": [{ "name": "api Name", "quantity": 10, "unit_price": 2}, { "name": "api 2", "quantity": "4", "unit_price": 3 }]}',
    TRUE
));

生产:

array(
    'email' => 'sam@email.com',
    'items' => array(
        0 => array(
            'name' => 'api Name',
            'quantity' => 10,
            'unit_price' => 2,
        ),
        1 => array(
            'name' => 'api 2',
            'quantity' => '4',
            'unit_price' => 3,
        ),
    ),
)

传递TRUE作为第二个参数以获取数组; 没有它, json_decode()生成对象而不是关联数组。

使用函数var_export()来获取生成数据结构的PHP代码,您可以将其作为参数传递。

在单独的脚本中使用上面的代码,以获取有关需要创建的数据结构的提示,以便在将其编码为JSON时获得所需的字符串。 不要将其放入您开发的产品中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM