채택완료

json 데이타값을 변수에 담아 사용하고싶은데 방법을 모르겠습니다.

2019-11-18 (월) 12:11:12 2,642

echo $response; 를 하면 아래 데이타가 출력이 됩니다. 보기좋게 tree 구조로 바꾸어놓았는데요..

1. details -> items -> 555 -> sku 값을 $sku 라는 변수에 담고싶습니다.

2. 그리고 event -> amount 값도 $price 라는 변수에 담고싶습니다.

가령 currency값을 출력하고 싶은데

echo $response["currency"]; 라고했는데 아무 반응이 없습니다.

답변주시면 큰 도움이 되겠습니다.

Copy
{

   "currency":"USD",

   "user_id":"6224-9525-OIRK",

   "details":{

      "items":{

         "555":{

            "sku":"555",

            "display_name":"Massager",

            "unit_price":80,

            "qty":1,

            "item_type":"physical",

         }

      },

   "events":[

      {

         "amount":4155,

      }

   ],

}
|

답변 4개 / 댓글 1개

채택된 답변
+20 포인트

저는 이렇게 사용합니다.

{
    "Su": {
        "2019": {
            "Total": "412",
            "SuCnt": "360",
            "SuLowCnt": "241",
            "SuInterviewCnt": "321",
            "SuNoCnt": 52
        },
        "2020": {
            "Total": "336",
            "SuCnt": "249",
            "SuLowCnt": "161",
            "SuInterviewCnt": "213",
            "SuNoCnt": 87
        }
    }

}
 

su_home.json파일의 내용이 위와 같다면

$json_file = '../su_home.json';
$data_str = file_get_contents($json_file);
$json_home = json_decode($data_str, JSON_PRETTY_PRINT);

echo $json_home['Su']['2019']['Total'];
 

이렇게 하면 412가 보이네요..

제 사용하는 방법입니다.

예 555가 문제인것 같습니다. 아무리 봐도 다른 변수는 없고 그냥 555라고 밖에 안나와있습니다. 이게 상품 id 번호인데... 상품이 바뀔때마다 계속 바뀌거든요...이럴땐 555라는 값을 다른 변수에 넣고 그 변수값을 넣을 수 있을까요?

예 주신것처럼 했는데 에러페이지가 나옵니다.
그래서 아래처럼 했더니 currency 값은 출력할 수 있는데 여전히 details -> items -> 555 -> sku 값을 출력할 수 없네요...
$ret = json_decode($response, true);
echo $ret['currency'];

답변에 대한 댓글 1개

555가 문제일것으로 보여집니다. 다른 변수를 사용해보세요.

아래처럼 해보세요.

$sku=$response->cdetails -> items -> 555 -> sku;

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