У меня есть такой JSon, передающийся в куке msOrder:
{
"recipient_first_name": "Олджфыва",
"recipient_last_name": "Ощфыв",
"recipient_phone": "+74952211211",
"recipient_comment": "",
"deliverypoint_street": "пер Орликов",
"deliverypoint_house": "1",
"deliverypoint_index": "107078",
"recipient_email": "jklasdf@jklsdf.ru",
"deliverypoint_flat": "46",
"order_payment_method": 1,
"order_items": [
{
"orderitem_name": "Canon LEGRIA HF M56",
"orderitem_quantity": 1,
"orderitem_cost": 20990
},
{
"orderitem_name": "Canon LEGRIA HF R56",
"orderitem_quantity": 1,
"orderitem_cost": 15490
},
{
"orderitem_name": "накладка Diesel для iPhone 5",
"orderitem_quantity": 1,
"orderitem_cost": 1390
}
],
"order_weight": 1.2000000000000002,
"order_length": 10,
"order_width": 10,
"order_height": 2,
"deliverypoint_city": "Москва",
"order_delivery_cost": 235,
"delivery_delivery": 149,
"delivery_direction": 40,
"delivery_price": 37680,
"delivery_pickuppoint": 0,
"delivery_to_ms_warehouse": 0
}
Задача перед тем, как он будет использован скриптом его породившим, перепаковать его еще в 2 других формата и так же отправить в другие сервисы:
1)
<script type="text/javascript">
function rrAsyncInit() {
try {
rrApi.order({
transaction: <transaction_id>,
items: [
{ id: <product_id>, qnt: <quantity>, price: <price>},
{ id: <product_id>, qnt: <quantity>, price: <price> }
]
});
} catch(e) {}
}
</script>
2) Я.Метрика:
var yaParams = {
order_id: "12345",
order_price: 123.45,
currency: "RUR",
exchange_rate: 1,
goods:
[
{
id: "1",
name: "наименование товара",
price: 100,
quantity: 1
}
]
};
С Метрикой еще немного не понятно, вроде пишут "Вы можете передавать любые другие значения в параметрах.", но когда-то я пытался передать в заказе еще и свои параметры и она начинала капризничать.
JS я знаю не очень, поэтому хотел спросить существуют ли какие-то специализированные инструменты для работы с этими структурами. В PHP есть json_decode, то есть можно в PHP сразу передать массив там его "перекодировать" и потом передать в яву таким образом:
$JSproducts = json_encode($products);
print "<script> var yaParams = $JSproducts </script>";
Ииии... вопрос: нужно будет писать циклы, чтобы извлечь все данные из этой структуры и запихнуть в структуру нужного формата, или можно просто переименовать нужные... свойства(поля, переменные - не знаю как правильно называются) и удалить ненужные. Желательно на PHP, но если на JS в JQuery есть инструмент с помощью которого можно это сделать проще, то можно на JS.