Converting habe ich ein Json wie unten: -ein mehrdimensionales Array zu einem bestimmten Objekt in Php 5.3
{
"_objectClassName": "Transfer_Sales_Order_Item",
"_idAttribute": "id_sales_order_item",
"_indexDirty": true,
"_data": [
{
"_attributes": {
"history_collection": "Transfer_Sales_Order_Item_Status_HistoryCollection",
"merchant": "Transfer_Sales_Order_Item_Merchant",
"shipment": "Transfer_Sales_Order_Item_Shipment",
"status": "Transfer_Sales_Order_Item_Status",
"fk_catalog_shipment_type": null,
"warehouse": "Transfer_Sales_Order_Address",
"brand": null,
"root_category": null,
"category": null,
"history_log_note": null,
"delivery_time": null,
"bundle_discount": null,
"fk_sku_bundle": null,
"is_freebie": null,
"shipping_charge": null,
"not_buyable": null,
"bundle_group": null,
"dispatch_time": null,
"info_collection": "Transfer_Sales_Order_Item_Additional_Info",
"trackinginfo_collection": "Transfer_Sales_Order_Shipment_Tracking_HistoryCollection",
"trakinginfo_summarized": null,
"status_history": null,
"text_collection": "Transfer_Sales_Order_Item_Custom_TextCollection",
"returninfo_summarized": null,
"refundinfo_summarized": null,
"shipping_special_service_info": "Transfer_Sales_Order_Item_Shipping_Special_Service",
"payback_credits_value": null,
"stock_version": null,
"fk_catalog_simple": null,
"item_attributes": "Transfer_Sales_Order_Item_Attributes"
},
"_defaultValues": {
"quantity": 1
},
"_data": {
"sku": "CA028SH10UTLINDFAS-697382",
"fk_catalog_simple": 697382,
"name": "Bronze Sandal",
"unit_price": 1095,
"catalog_tax_class": {
"_attributes": {
"tax_percent": null
},
"_defaultValues": [
],
"_data": {
"tax_percent": 0
}
},
"tax_percent": 0,
"original_unit_price": 1095,
"shipping_charge": 1,
"item_attributes": {
"_attributes": {
"is_surface": null,
"is_fragile": null,
"is_precious": null,
"seller_discount": 0,
"seller_price": 0,
"seller_sku": null
},
"_defaultValues": [
],
"_data": {
"is_surface": 0,
"is_fragile": 0,
"seller_sku": 1000211001,
"seller_price": 0
}
}
}
}
]
}
, das ich es wie unten beschrieben auf ein bestimmtes Objekt konvertieren möchten: -
Transfer_Sales_Order_ItemCollection Object
(
[_objectClassName:protected] => Transfer_Sales_Order_Item
[_idAttribute:protected] => id_sales_order_item
[_indexDirty:Transfer_AbstractCollection:private] => 1
[_data:protected] => Array
(
[0] => Transfer_Sales_Order_Item Object
(
[_attributes:protected] => Array
(
[history_collection] => Transfer_Sales_Order_Item_Status_HistoryCollection
[merchant] => Transfer_Sales_Order_Item_Merchant
[shipment] => Transfer_Sales_Order_Item_Shipment
[status] => Transfer_Sales_Order_Item_Status
[fk_catalog_shipment_type] =>
[warehouse] => Transfer_Sales_Order_Address
[brand] =>
[root_category] =>
[category] =>
[history_log_note] =>
[delivery_time] =>
[bundle_discount] =>
[fk_sku_bundle] =>
[is_freebie] =>
[shipping_charge] =>
[not_buyable] =>
[bundle_group] =>
[dispatch_time] =>
[info_collection] => Transfer_Sales_Order_Item_Additional_Info
[trackinginfo_collection] => Transfer_Sales_Order_Shipment_Tracking_HistoryCollection
[trakinginfo_summarized] =>
[status_history] =>
[text_collection] => Transfer_Sales_Order_Item_Custom_TextCollection
[returninfo_summarized] =>
[refundinfo_summarized] =>
[shipping_special_service_info] => Transfer_Sales_Order_Item_Shipping_Special_Service
[payback_credits_value] =>
[stock_version] =>
[fk_catalog_simple] =>
[item_attributes] => Transfer_Sales_Order_Item_Attributes
)
[_defaultValues:protected] => Array
(
[quantity] => 1
)
[_data:protected] => Array
(
[sku] => CA028SH10UTLINDFAS-697382
[fk_catalog_simple] => 697382
[name] => Bronze Sandal
[unit_price] => 1095
[catalog_tax_class] => Transfer_Catalog_Tax_Class Object
(
[_attributes:protected] => Array
(
[tax_percent] =>
)
[_defaultValues:protected] => Array
(
)
[_data:protected] => Array
(
[tax_percent] => 0
)
)
[tax_percent] => 0
[original_unit_price] => 1095
[shipping_charge] => 1
[item_attributes] => Transfer_Sales_Order_Item_Attributes Object
(
[_attributes:protected] => Array
(
[is_surface] =>
[is_fragile] =>
[is_precious] =>
[seller_discount] => 0
[seller_price] => 0
[seller_sku] =>
)
[_defaultValues:protected] => Array
(
)
[_data:protected] => Array
(
[is_surface] => 0
[is_fragile] => 0
[seller_sku] => 1000211001
[seller_price] => 0
)
)
)
)
)
)
Kann mir jemand sagen, wie dies auf generische Weise erreicht werden kann, da ich einige JSON-Schemata wie oben habe?
Ich bin durch diese question gegangen, aber keine der Antworten scheint mir ziemlich passend zu sein.
Ich bin auch durch diese question gegangen. Die Antworten dort passen nicht zu mir, da in meinem Fall das Attribut selbst ein Objekt sein kann. Beispiel: catalog_tax_class
ist vom Typ Transfer_Catalog_Tax_Class
.
PHP-Version - 5.3.29.
Ist 'json_decode()' nicht gut genug, um ein Ergebnis oder haben Sie nicht über diese einfache Funktion gehört? – RiggsFolly
Ich möchte den JSON in eine Instanz von Transfer_Sales_Order_ItemCollection konvertieren. Wie kann ich dies mit 'json_decode' erreichen? – tuk
Ein einfaches Nein, das ist nicht das, wonach ich bin, ist ziemlich gut genug. Ich bin ziemlich in der Lage, die Nachricht zu erhalten und meine versuchte Antwort zu löschen – RiggsFolly