selam,
konu başlığındaki gibi kafayı yedirtecek bir problemim var.
Json verisinin küçük bir kısmını alıp sonra veriyi ayıklayabiliyorum (yani ayıklamak istediğim veriye kadar olan kısmını alıp, sonra ayıklayabiliyorum.), ancak api'den gelen json onlarca satır olduğundan json verisinin tamamını alıp, sonra ayıklamam gerekiyor.
Ve işte sorun da burada, tamamını aldıktan sonra ayıklayamıyorum. İşi bilenler zaten 2 dakikada çözecektir, ücretli ücretsiz destek için PM iletirseniz çok sevinirim.
PHP ile json ayıklama problemi
8
●338
- 04-07-2023, 03:00:35json verisini suraya https://paste.laravel.io/ yapistirip kaydedip gonderin bakalim
- 04-07-2023, 03:02:38Tam json verisi: https://paste.laravel.io/4a79045b-5c...b-da7bd4a98808Feirefiz adlı üyeden alıntı: mesajı görüntüle
İlgilendiğim kısmın json verisi: https://paste.laravel.io/c138e407-f8...2-075cc731dea7
Kullandıgım kod:
<?php $json = '{"__ar":1,"payload":{"layout":{"bloks_payload":{"data":[{"id":"1856155906_0","type":"gs","data":{"key":"dtl:instagram_profile_protection:about_this_account_country","mode":"p","initial_lispy":"(bk.action.array.Get, (bk.action.array.Make, \"Amerika Birle\\u015fik Devletleri\"), (bk.action.i32.Const, 0))"}},{"id":"1856155906_1","type":"gs","data":{"key":"dtl:instagram_profile_protection:about_this_account_country_visibility","mode":"p","initial_lispy":"(bk.action.bool.Const, true)"}}]}}}}'; $data = json_decode($json, true); $bloks_payload = $data['payload']['layout']['bloks_payload']; $filteredData = array_filter($bloks_payload['data'], function ($item) { return isset($item['data']['key']) && $item['data']['key'] === 'dtl:instagram_profile_protection:about_this_account_country'; }); $country = ''; if (!empty($filteredData)) { $item = reset($filteredData); preg_match('/\"(.*?)\"/', $item['data']['initial_lispy'], $matches); $country = $matches[1]; } echo $country; ?> - 04-07-2023, 07:46:01Alamadığınız kısım neresi?
Tahminimce aşağıdaki veriye kadar almak istiyorsunuz.
$data[“payload”][“layout”][“bloks_payload”][“data”]
Buraya kadar aldığınızda elinizde bir dizi olmuş olacak 2 elemandan oluşan. For each ile bir döngüden de alabilirsiniz yada index belirtebilirsiniz.
1. Elemanı almak için
$data[“payload”][“layout”][“bloks_payload”][“data”][0]
Elemandaki id ve initial_lispy değerleribi almak için
$data[“payload”][“layout”][“bloks_payload”][“data”][0][“id”]
$data[“payload”][“layout”][“bloks_payload”][“data”][0][“initial_lispy”] - 04-07-2023, 09:57:20Üyeliği durdurulduçözen olurda çok karışık gelen veriden sadece tek bir aralığı mi çekeceksin şu instagram yazan kısmıLusy adlı üyeden alıntı: mesajı görüntüle
- 04-07-2023, 13:55:45
<?php $returnValue = json_decode('{"__ar":1,"payload":{"layout":{"bloks_payload":{"data":[{"id":"1856155906_0","type":"gs","data":{"key":"dtl:instagram_profile_protection:about_this_account_country","mode":"p","initial_lispy":"(bk.action.array.Get, (bk.action.array.Make, \\"Amerika Birle\\\\u015fik Devletleri\\"), (bk.action.i32.Const, 0))"}},{"id":"1856155906_1","type":"gs","data":{"key":"dtl:instagram_profile_protection:about_this_account_country_visibility","mode":"p","initial_lispy":"(bk.action.bool.Const, true)"}}],"tree":{"bk.components.Flexbox":{"flex_direction":"column","children":[{"bk.components.Flexbox":{"flex_direction":"column","align_items":"stretch","children":[{"bk.components.Collection":{"direction":"column","children":[{"bk.components.Flexbox":{"flex_direction":"column","justify_content":"space_evenly","align_items":"center","children":[{"bk.components.Flexbox":{"decoration":{"bk.components.BoxDecoration":{"corner_radius":"40.0dp","border_width":"1dp","clipping":true,"border_themed_color":{"bk.types.ThemedColor":{"light_color":"#19000000","dark_color":"#19FFFFFF"}}}},"children":[{"bk.components.Image":{"url":"https:\\/\\/scontent.cdninstagram.com\\/v\\/t51.2885-19\\/160350263_2995014717393051_5225963754703825950_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=103&_nc_ohc=KRsR8O3Z1h4AX_9lc3K&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAshSE3rComsj-BC668upX1Y1cCGoHv7bCiVsXx35xVEg&oe=64A7D3B8&_nc_sid=10d13b","scale_type":"stretch","extensions":[]}}],"_style":{"flex":{"width":"80dp","height":"80dp"}}}},{"bk.components.Flexbox":{"align_items":"center","children":[{"bk.components.Text":{"text":"hot8yoga","text_size":"16sp","text_style":"bold","line_height_multiplier":1.25}}],"_style":{"flex":{"padding_top":"8dp"}}}}],"extensions":[{"bk.components.AutomationTestExtension":{"testing_id":"ata_header_section"}}],"_style":{"flex":{"height":"136dp","padding_top":"16dp","padding_bottom":"8dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","align_items":"stretch","children":[{"bk.components.Flexbox":{"flex_direction":"column","align_items":"stretch","children":[{"bk.components.Flexbox":{"flex_direction":"row","justify_content":"flex_start","align_items":"flex_start","children":[{"bk.components.RichText":{"children":[{"bk.components.TextSpan":{"text":"Toplulu\\u011fumuzun ger\\u00e7ek olmas\\u0131na yard\\u0131mc\\u0131 olmak i\\u00e7in Instagramdaki hesaplar hakk\\u0131nda bilgiler g\\u00f6steriyoruz.","text_size":"12sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#8E8E8E","dark_color":"#8E8E8E"}}}},{"bk.components.TextSpan":{"text":" ","text_size":"12sp"}},{"bk.components.TextSpan":{"text":"Bu bilginin neden \\u00f6nemli oldu\\u011funu g\\u00f6r.","text_size":"12sp","on_click":"(bk.action.navigation.OpenUrlV2, \\"https:\\\\\\/\\\\\\/help.instagram.com\\\\\\/697961817256175\\", (bk.action.bloks.InflateSync, (bk.action.map.MakeFlat, \\"bk.data.navigation.OpenUrlOptions\\", (bk.action.map.MakeFlat))))","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#00376B","dark_color":"#E0F1FF"}}}}],"text_align":"center","line_height_multiplier":1.2,"_style":{"flex":{"grow":1}}}}],"_style":{"flex":{"width":"100\\u0025","padding_bottom":"16dp"}}}}],"_style":{"flex":{"width":"100\\u0025","padding_start":"32dp","padding_end":"32dp"}}}}],"extensions":[{"bk.components.AutomationTestExtension":{"testing_id":"ata_context_section"}}],"_style":{"flex":{"width":"100\\u0025","padding_bottom":"8dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","align_items":"stretch","children":[{"bk.components.Flexbox":{"flex_direction":"column","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"column","children":[{"ig.components.Icon":{"url":"https:\\/\\/i.instagram.com\\/static\\/images\\/bloks\\/icons\\/generated\\/calendar-pano__outline__24-4x.png\\/1fddba7c7ee1.png","resource_name":"calendar-pano_outline_24","height":"24dp","width":"24dp","tint_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}}],"_style":{"flex":{"padding_end":"12dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","children":[{"bk.components.Text":{"text":"Kat\\u0131lma tarihi","text_size":"16sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}},{"bk.components.RichText":{"children":[{"bk.components.TextSpan":{"text":"May\\u0131s 2013","text_size":"14sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#8E8E8E","dark_color":"#8E8E8E"}}}}],"text_align":"start"}}]}}],"_style":{"flex":{"grow":1}}}}],"_style":{"flex":{"width":"100\\u0025"}}}}],"extensions":[{"bk.components.AutomationTestExtension":{"testing_id":"ata_date_joined_row"}}],"_style":{"flex":{"width":"100\\u0025","padding_top":"12dp","padding_bottom":"12dp","padding_start":"16dp","padding_end":"16dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"column","children":[{"ig.components.Icon":{"url":"https:\\/\\/i.instagram.com\\/static\\/images\\/bloks\\/icons\\/generated\\/location-pano__outline__24-4x.png\\/c25a2527cdad.png","resource_name":"location-pano_outline_24","height":"24dp","width":"24dp","tint_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}}],"_style":{"flex":{"padding_end":"12dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","children":[{"bk.components.Text":{"text":"Hesab\\u0131n bulundu\\u011fu konum:","text_size":"16sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}},{"bk.components.RichText":{"children":[{"bk.components.TextSpan":{"text_size":"14sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#8E8E8E","dark_color":"#8E8E8E"}},"on_bind":"(bk.action.array.Make, (bk.action.array.Make, (bk.action.i32.Const, 1856155907), \\"text\\", (bk.action.core.Apply, (bk.action.core.FuncConst, (bk.action.core.TakeLast, (bk.action.array.Update, (bk.action.core.GetArg, 0), (bk.action.array.Make, (bk.action.i32.Const, 0)), (bk.action.array.Make, (bk.action.bloks.GetVariable2, \\"1856155906_1\\"))), (bk.action.core.Match, (bk.action.i32.Const, 1), (bk.action.array.Make, (bk.action.core.Pattern, (bk.action.bool.Not, (bk.action.array.Get, (bk.action.core.GetArg, 0), (bk.action.i32.Const, 0))), (bk.action.core.FuncConst, \\"Payla\\\\u015f\\\\u0131lm\\\\u0131yor\\"))), (bk.action.core.Default, (bk.action.core.FuncConst, (bk.action.bloks.GetVariable2, \\"1856155906_0\\")))))), (bk.action.array.Make, null))))","id":1856155907}}],"text_align":"start"}}]}}],"_style":{"flex":{"grow":1}}}}],"_style":{"flex":{"width":"100\\u0025"}}}}],"extensions":[{"bk.components.AutomationTestExtension":{"testing_id":"ata_country_row"}}],"_style":{"flex":{"width":"100\\u0025","padding_top":"12dp","padding_bottom":"12dp","padding_start":"16dp","padding_end":"16dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","justify_content":"flex_start","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"row","align_items":"center","children":[{"bk.components.Flexbox":{"flex_direction":"column","children":[{"ig.components.Icon":{"url":"https:\\/\\/i.instagram.com\\/static\\/images\\/bloks\\/icons\\/generated\\/circle-dollar-pano__outline__24-4x.png\\/2bb2599c71b0.png","resource_name":"circle-dollar-pano_outline_24","height":"24dp","width":"24dp","tint_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}}],"_style":{"flex":{"padding_end":"12dp"}}}},{"bk.components.Flexbox":{"flex_direction":"column","children":[{"bk.components.Text":{"text":"Aktif reklamlar","text_size":"16sp","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#262626","dark_color":"#fafafa"}}}},{"bk.components.RichText":{"children":[{"bk.components.TextSpan":{"text":"Meta Reklam K\\u00fct\\u00fcphanesinde hot8yogain reklamlar\\u0131n\\u0131 g\\u00f6r.","text_size":"14sp","on_click":"(bk.action.navigation.OpenUrlV2, \\"https:\\\\\\/\\\\\\/www.facebook.com\\\\\\/ads\\\\\\/library\\\\\\/?view_all_page_id=150965259780&ad_type=all\\", (bk.action.bloks.InflateSync, (bk.action.map.MakeFlat, \\"bk.data.navigation.OpenUrlOptions\\", (bk.action.map.MakeFlat))))","text_themed_color":{"bk.types.ThemedColor":{"light_color":"#00376B","dark_color":"#E0F1FF"}}}}],"text_align":"start"}}]}}],"_style":{"flex":{"grow":1}}}}],"_style":{"flex":{"width":"100\\u0025"}}}}],"extensions":[{"bk.components.AutomationTestExtension":{"testing_id":"ata_active_ads_row"}}],"_style":{"flex":{"width":"100\\u0025","padding_top":"12dp","padding_bottom":"12dp","padding_start":"16dp","padding_end":"16dp"}}}}]}}],"extensions":[{"bk.components.VisibilityExtension":{"key":"1856155904","on_appear":"(bk.action.core.TakeLast, (ig.action.logging.LogEvent, \\"ig_about_this_account\\", \\"Landing\\", (bk.action.map.Make, (bk.action.array.Make, \\"event_name\\", \\"referer_type\\", \\"surface\\", \\"target_ig_user_id\\"), (bk.action.array.Make, \\"impression\\", \\"ProfileMore\\", \\"Landing\\", (bk.action.i32.Const, 367275594)))), (bk.action.navigation.SetNavBar, (bk.action.bloks.InflateSync, (bk.action.map.MakeFlat, \\"ig.components.screens.Navbar\\", (bk.action.map.MakeFlat, \\"title\\", \\"Bu hesap hakk\\\\u0131nda\\")))))"}}],"_style":{"flex":{"grow":1,"shrink":1}}}}],"_style":{"flex":{"width":"100\\u0025","height":"100\\u0025"}}}}],"_style":{"flex":{"grow":1}}}},"embedded_payloads":[],"error_attribution":{"logging_id":"{\\"callsite\\":\\"{\\\\\\"oncall\\\\\\":\\\\\\"instagram_profile_protection\\\\\\",\\\\\\"feature\\\\\\":\\\\\\"AboutThisAccountEntrypoint\\\\\\",\\\\\\"product\\\\\\":\\\\\\"bloks_async_component\\\\\\"}\\",\\"push_phase\\":\\"c2\\"}"}}},"server_data":{"falco_log_policy_map":null}},"hsrp":{"hblp":{"consistency":{"rev":1007784919}}},"lid":"7251739628680692358"}'); $data = explode('"', $returnValue->payload->layout->bloks_payload->data[0]->data->initial_lispy); echo $data[1]; - 04-07-2023, 13:58:52teşekkür ederim hocamfatihemre adlı üyeden alıntı: mesajı görüntüle