v2.5.2
Giriş yap

json değerinin yeri değişiyor

mek
364 defa görüntülendi

Merhaba, Woocommerce REST API ile mağazamın çalışanlarının erişebileceği bir sistem üzerinde çalışıyorum. Doğrudan Wordpress panelini açmak yerine sadece belirlediğim alanlarda çalışabilecekleri bir sistem geliştiriyorum. json kullanarak meta_data içerisinden;

"key" "kargo_takip_no" kısmını;

['meta_data'][7]['value'] basarak kargo takip kodunu alabiliyorum. fakat verinin yeri 7 iken bazen 8 ve 9 olarak değişebiliyor yani sıra kayıyor. Listelediğim zaman örnek olarak: 1 numaralı siparişin takip numarası 321321 ise 2 numaralı siparişin takip numarası aras kargo olarak gözüküyor. bu sorunu nasıl giderebilirim?

İlk görselde "kargo_takip_no" alanının bulunduğu sıra 7

İkinci görselde ise sırası değişmiş ve 8. sıraya kaymış.

themonster
826 gün önce

$data = '[
    {
        "id":1,
        "key":"kargo_takip_no",
        "value":"11111"
    },
    {
        "id":2,
        "key":"kargo_firma",
        "value":"xxxxx"
    },
    {
        "id":3,
        "key":"x1",
        "value":"y1"
    }
]';

$new_json = new stdClass;

$json = json_decode($data, true); // rest apiden gelen data , 2. değeri true yapıyoruz ki array olarak alalım

foreach ($json as $json_data) { // foreach ($json->meta as $json_data) { , foreach ($json->meta_data as $json_data) {
    $new_json->{$json_data['key']} = $json_data['value'];
}

#echo $new_json->kargo_takip_no;
#echo $new_json->kargo_firma;
#echo $new_json->x1;

print_r($new_json);