2016-08-29 2 views
2

PHP에서 JSON을 읽는 방법을 알고 싶습니다. 해당 키가 무엇인지 모르겠습니다. 다음은 통과해야 할 json의 예제입니다. 그러나 key-> value 쌍 중 어느 것도 항상 동일하게는되지 않습니다. 이러한 핵심 이름 중 일부는 철자가 틀리거나 이름 끝에 숫자가있을 수 있으므로 동적으로 지정할 수 있어야합니다. 내가 뭔가를 할 것입니다 키의 정확한 이름을 알고있는 경우 여기에 PHP에서 동적 JSON을 통해 읽으십시오

은 .. 그러나

$someObject = json_decode($someJSON); 
    print_r($someObject);  // Dump all data of the Object 
    echo $someObject[0]->name; // Access Object data 

이해

[ 
    { 
     "var5":"item-company-1", 
     "asd2":"item-company-1", 
     "tie1":"0", 
     "cxs1":"481.891px", 
     "xcve2":"130.563px" 
    },... 

를 통해 JSON 내가 순환 될 수의 정확한 예입니다 나는 열쇠를 모른다. 나는 다음 루프가 각 객체를 순환하도록 만들어 져야한다고 생각하지만, PHP에서 그렇게하는 방법을 모른다.

+0

json의 구조가 항상 동일한 지 알고 계십니까? –

답변

2

임은 JSON을 가정하면 아래 형식의 항상

$json = '[ 
    { 
     "var5":"item-company-1", 
     "asd2":"item-company-1", 
     "tie1":"0", 
     "cxs1":"481.891px", 
     "xcve2":"130.563px" 
    }, 
    { 
     "var6":"item-company-2", 
     "asd7":"item-company-2", 
     "tie8":"0", 
     "cxs9":"481.891px", 
     "xcve10":"130.563px", 
     "extra" : "unknown" 
    } 
]'; 

그는 기술적으로 대답 때문에 그럼 당신은 내가 답을 표시

$array = json_decode ($json ,true); 

foreach ($array as $item) { 
    foreach($item as $key => $value) { 
     echo $value; 
    } 
} 
0

루프를 배열로 전체 JSON을 변환하고 실행할 수 있습니다 내 질문.

나는 또한이 솔루션이 위의 대안이 될 수있는 사람을 도울 수 있기를 바랍니다. 실제로 모든 값을 가져 오기 위해 다중 레벨 배열로 이동합니다.

$jsonIterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator(json_decode($json, TRUE)), 
    RecursiveIteratorIterator::SELF_FIRST); 

foreach ($jsonIterator as $key => $val) { 
    if(is_array($val)) { 
     echo "$key:\n"; 
    } else { 
     echo "$key => $val\n"; 
    } 
} 
관련 문제