php json 데이터 출력
본문
echo $optJSON = json_decode($optJSON,true);
[{"optidx":1579,"name":"테스트1","prc":11000,"mil":1100,"totPrc":22000,"totMil":2200,"qty":2},{"optidx":1580,"name":100,"prc":12000,"mil":1200,"totPrc":36000,"totMil":3600,"qty":3}][{"optidx":1537,"name":"애프터 쉐이브 (스킨) 120ml","prc":29900,"mil":0,"totPrc":29900,"totMil":0,"qty":1},{"optidx":1538,"name":"쉐이브 밤 (로션) 120ml","prc":29900,"mil":0,"totPrc":59800,"totMil":0,"qty":2}][{"optidx":1579,"name":"테스트1","prc":11000,"mil":1100,"totPrc":22000,"totMil":2200,"qty":2},{"optidx":1580,"name":100,"prc":12000,"mil":1200,"totPrc":36000,"totMil":3600,"qty":3}][{"optidx":1537,"name":"애프터 쉐이브 (스킨) 120ml","prc":29900,"mil":0,"totPrc":29900,"totMil":0,"qty":1},{"optidx":1538,"name":"쉐이브 밤 (로션) 120ml","prc":29900,"mil":0,"totPrc":59800,"totMil":0,"qty":2}]
현재 json 데이터가 echo 찍으면 이렇게 나오는데요 이거 optidx 값을 찍을려면 어떻게 해야하나요?
답변 3
$optJSON 변수가 오브젝트로 처리되었을 겁니다.
그 부분을 $optJSON->{'optidx'}; 로 빼오시면 됩니다.
$json = '{
"first" : [
{"optidx":1579,"name":"테스트1","prc":11000,"mil":1100,"totPrc":22000,"totMil":2200,"qty":2},
{"optidx":1580,"name":100,"prc":12000,"mil":1200,"totPrc":36000,"totMil":3600,"qty":3}
],
"second" : [
{"optidx":1537,"name":"애프터 쉐이브 (스킨) 120ml","prc":29900,"mil":0,"totPrc":29900,"totMil":0,"qty":1},
{"optidx":1538,"name":"쉐이브 밤 (로션) 120ml","prc":29900,"mil":0,"totPrc":59800,"totMil":0,"qty":2}
],
"third" : [
{"optidx":1579,"name":"테스트1","prc":11000,"mil":1100,"totPrc":22000,"totMil":2200,"qty":2},
{"optidx":1580,"name":100,"prc":12000,"mil":1200,"totPrc":36000,"totMil":3600,"qty":3}
],
"forth" : [
{"optidx":1537,"name":"애프터 쉐이브 (스킨) 120ml","prc":29900,"mil":0,"totPrc":29900,"totMil":0,"qty":1},
{"optidx":1538,"name":"쉐이브 밤 (로션) 120ml","prc":29900,"mil":0,"totPrc":59800,"totMil":0,"qty":2}
]
}';
$optJSON = json_decode($json);
echo $optJSON->first[0]->optidx;
몇 개의 object를 그냥 쭈욱 붙여 놓으신 건가요?
정상적인 object라면 이렇게 되어야 맞을 건데 좀 이상하게 되어 있네요.
json_decode된 배열을 echo로 찍을수도 없고요(에러납니다.)
올리신 데이터가 잘못되어 있는데요.