如何在PHP中将多个对象转换为1个JSON字符串

时间:2016-01-15 10:07:32

标签: php json

我的应用程序有一个报告列表和每个报告'被定义为PHP中的新对象。我尝试制作一个基本的API,并希望显示所有“报告”的列表。在1个JSON字符串中。我的代码适用于将1个对象编码为JSON,但是如何获取所有对象并将其全部转换为1个长JSON字符串?

我知道我可以创建一个对象数组,但返回这些括号[]并且我不想在JSON字符串中使用这些括号。

var yourVariable:String!{
    didSet{
        refreshView()
    }
}

2 个答案:

答案 0 :(得分:0)

正如@JimL所建议的那样,您只需在数组中添加一些对象,您可以将其编码为json。

$item = array();
$item[] = new report('test', 0, 0, 'OK');
$item[] = new report('test2', 0, 0, 'OK');
echo json_encode($item, JSON_PRETTY_PRINT);

产生

[{
    "report_name": "test",
    "report_value": 0,
    "report_benchmark": 0,
    "report_result": "OK"
}, {
    "report_name": "test",
    "report_value": 0,
    "report_benchmark": 0,
    "report_result": "OK"
}]

请注意,您可以验证生成的json here

答案 1 :(得分:0)

你可以做这样的事情。

$item = array();
$item['report1'] = $item = new report('test', 0, 0, 'OK');
$item['report2'] = $item = new report2('test', 0, 0, 'OK');
$item['report3'] = $item = new report3('test', 0, 0, 'OK');
echo json_encode($item, JSON_PRETTY_PRINT);

创建一个关联数组并添加为所有对象添加含义的完整键,这将有助于轻松访问每个特定报告。