【发布时间】:2021-10-02 16:18:41
【问题描述】:
我正在尝试对一个对象进行 json_encode,但我希望外部包装器是一个数组而不是一个对象。
我试过了
json_encode($myObject, JSON_OBJECT_AS_ARRAY)
但我的最终结果总是
{
"SALDOC": [
{
"SERIES": null,
"TRDR": null,
"PAYMENT": "2",
"SHIPMENT": "",
"TRNDATE": "2019-03-11 07:57:38",
"REMARKS": null,
"DISC1VAL": "0.0000",
"SALESMAN": null,
"SHIPKIND": null,
"CCCCLCOURIERWEIGHT": "1.0000"
}
],
"ITELINES": [
{
"LINENUM": null,
"VAT": null,
"MTRUNIT4": null,
"MTRCATEGORY": null,
"MTRL": null,
"QTY1": "1.0000",
"PRICE": "15.0000"
}
],
"MTRDOC": [
{
"SHPZIP": "test",
"SHPCITY": "teset",
"SHIPPINGADDR": "test",
"SHPDISTRICT": 100
}
],
"SRVLINES": [],
"EXPANAL": []
}
如何使外包装成为数组 [] 而不是对象 {}?
【问题讨论】:
-
你不能,因为它包含键值对。在编码之前将其转换为一个简单的数组。
-
我尝试将对象转换为数组,例如 (array)$myObject ,但这也失败了。我需要做一些具体的事情才能让它发挥作用吗?
-
如果它是 JSON 中的数组,那么您将没有
SALDOC键等... -
我明白了。好的,我明白了。非常感谢
标签: php json serialization