테스트 사이트 - 개발 중인 베타 버전입니다

php json 데이터 출력

프로메타 8년 전 조회 6,189

  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개

8년 전

json_decode된 배열을 echo로 찍을수도 없고요(에러납니다.)

올리신 데이터가 잘못되어 있는데요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$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라면 이렇게 되어야 맞을 건데 좀 이상하게 되어 있네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
8년 전

$optJSON 변수가 오브젝트로 처리되었을 겁니다.

 

 그 부분을 $optJSON->{'optidx'}; 로 빼오시면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인