2016-12-17 32 views
5
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "X-Shopify-Access-Token: $token")); 
$translation_json = curl_exec($ch); 
$translation_decoded= json_decode($translation_json, true); 

Wynikiem jest:php Jak korzystać z wartości z tablicy json_decode?

Array 
(
    [asset] => Array 
     (
      [key] => locales/en.default.json 
      [public_url] => 
      [value] => { 
    "general": { 
    "accessibility": { 
     "skip_to_content": "Skip to content", 
     "close_modal": "Close (esc)" 
    }, 
    "meta": { 
     "tags": "Tagged \"{{ tags }}\"", 
     "page": "Page {{ page }}" 
    }, 
    "404": { 
     "title": "404 Page Not Found", 
     "subtext": "The page you requested does not exist.", 
     "link": "Continue shopping" 
    }, 
    "pagination": { 
     "previous": "Previous", 
     "next": "Next", 
     "current_page": "Page {{ current }} of {{ total }}" 
    }, 
    "password_page": { 
     "opening_soon": "Opening Soon", 
     "login_form_heading": "Enter store using password", 
     "login_form_password_label": "Password", 
     "login_form_password_placeholder": "Your password", 
     "login_form_submit": "Enter", 
     "signup_form_email_label": "Email", 
     "signup_form_success": "We will send you an email right before we open!", 
     "admin_link_html": "Are you the store owner? Log in here<\/a>", 
     "password_link": "Enter using password", 
     "powered_by_shopify_html": "This shop will be powered by {{ shopify }}" 
    }, 
    "social": { 
     "share_on_facebook": "Share", 
     "share_on_twitter": "Tweet", 
     "share_on_pinterest": "Pin it", 
     "alt_text": { 
     "share_on_facebook": "Share on Facebook", 
     "share_on_twitter": "Tweet on Twitter", 
     "share_on_pinterest": "Pin on Pinterest" 
     } 
    }, 
    "search": { 
     "no_results_html": "Your search for \"{{ terms }}\" did not yield any results.", 
     "results_with_count": { 
     "one": "{{ count }} result for \"{{ terms }}\"", 
     "other": "{{ count }} results for \"{{ terms }}\"" 
     }, 
     "title": "Search our site", 
     "placeholder": "Search", 
     "submit": "Submit", 
     "close": "Close search" 
    }, 
    "newsletter_form": { 
     "newsletter_email": "Join our mailing list", 
     "email_placeholder": "Email address", 
     "confirmation": "Thanks for subscribing", 
     "submit": "Subscribe" 
    }, 
    "filters": { 
     "show_more": "Show More", 
     "show_less": "Show Less" 
    } 
    }, 

że dekodowany tej tablicy z odpowiedzi json, jednak stoi problem pętli jest? Chcę używać wartości od accessibility, 404, password_page, social i więcej. Jak uzyskać wartości z tego?

+1

Prawdopodobnie po prostu trzeba rozszyfrować jeden więcej czasu na '$ translation_decoded [ 'składnik'] [” value '] ', aby przekonwertować tę wartość do innej tablicy. – Rasclatt

+0

OK, ale jest więcej zagnieżdżonych wartości dla. Czy muszę to robić dla każdej wartości zagnieżdżonej? –

+0

Cóż, ta wartość jest zakodowana w Json, więc jeśli istnieją inne wartości, które są konsekwentnie kodowane jako json, to tak – Rasclatt

Odpowiedz

2

Bo nadal w formacie JSON trzeba ponownie dekodowania wartości, aby go w tablicy

$decode = json_decode($translation_decoded['asset']['value']); 
1
$accessibility=$translation_decoded['asset']['value']['general']['accessibility'] ; 
$social=$translation_decoded['asset']['value']['social'] ; 
$password_page=$translation_decoded['asset']['value']['password_page'] ; 
$Page404=$translation_decoded['asset']['value']['404'] ; 

można wykorzystywać w ten sposób. Spróbuj tego.

0

dodać trzecią opcję $depth do json_decode funciton, jak go używać odnoszą manual i to post

$translation_decoded= json_decode($translation_json, true, $depth);