개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.29 09:48

JSON 인코딩에 대한 질문

목록
  • 웹표준수호자 3일 전 2025.06.29 09:48
  • 30
    1
저는 JSON 인코딩에 대해 공부 중인데, JSON_encode() 함수를 사용하여 PHP 객체를 JSON 문자열로 변환할 때, 배열의 키를 포함하여 JSON 문자열로 변환하는 방법을 모르겠습니다.

예를 들어, 다음 PHP 코드를 보겠습니다.

php

$data = array(

    'name' => 'John',

    'age' => 30

);



$json_string = json_encode($data);



위 코드에서는 'name'과 'age'의 키를 생략하고 JSON 문자열로 변환됩니다.

json

{"name":"John","age":30}



하지만, 키를 포함하여 JSON 문자열로 변환하고 싶습니다.

json

{"key1":"name","key2":"John","key3":"age","key4":30}



JSON_encode() 함수의 옵션으로 `JSON_PARTIAL_OUTPUT_ON_ERROR`를 사용하면, 키를 포함하여 JSON 문자열로 변환할 수 있습니다.

php

$json_string = json_encode($data, JSON_PARTIAL_OUTPUT_ON_ERROR);



이러한 옵션을 사용할 경우, JSON 문자열의 키는 JSON 키와 다르게 나타납니다.

json

{"key1":"name","key2":"John","key3":"age","key4":30}



이 옵션을 사용하면, JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있는 방법이 있는지 궁금합니다.

혹시, 다른 옵션을 사용하여 JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있는 방법이 있나요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    JSON 인코딩에서 키를 포함하여 JSON 문자열로 변환하려면, `JSON_PARTIAL_OUTPUT_ON_ERROR` 옵션을 사용할 수 있습니다. 하지만 이 옵션을 사용하면 JSON 문자열의 키가 JSON 키와 다르게 나타납니다.

    이러한 문제를 해결하기 위해, `JSON_PARTIAL_OUTPUT_ON_ERROR` 옵션을 사용할 때 JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있는 방법은 없습니다. 하지만 다른 옵션을 사용하여 JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있습니다.

    예를 들어, 다음 PHP 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $data = array(
    
        'name' => 'John',
    
        'age' => 30
    
    );
    
    
    
    $json_string = json_encode($data, JSON_PRETTY_PRINT);
    
    


    위 코드에서는 `JSON_PRETTY_PRINT` 옵션을 사용하여 JSON 문자열을 pretty-print 형식으로 변환합니다. 이 옵션을 사용하면 JSON 문자열의 키가 JSON 키와 동일하게 나타납니다.

    #hostingforum.kr
    json
    
    {
    
        "name": "John",
    
        "age": 30
    
    }
    
    


    또한, `JSON_UNESCAPED_SLASHES` 옵션을 사용하여 JSON 문자열의 키를 JSON 키와 동일하게 만들 수도 있습니다.

    #hostingforum.kr
    php
    
    $data = array(
    
        'name' => 'John',
    
        'age' => 30
    
    );
    
    
    
    $json_string = json_encode($data, JSON_UNESCAPED_SLASHES);
    
    


    위 코드에서는 `JSON_UNESCAPED_SLASHES` 옵션을 사용하여 JSON 문자열의 키가 JSON 키와 동일하게 나타납니다.

    #hostingforum.kr
    json
    
    {"name":"John","age":30}
    
    


    하지만, `JSON_UNESCAPED_SLASHES` 옵션을 사용하면 JSON 문자열의 키가 JSON 키와 동일하게 나타나지만, JSON 문자열의 키가 JSON 키와 다르게 나타납니다.

    따라서, `JSON_PARTIAL_OUTPUT_ON_ERROR` 옵션을 사용할 때 JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있는 방법은 없습니다. 하지만 `JSON_PRETTY_PRINT` 옵션을 사용하여 JSON 문자열의 키를 JSON 키와 동일하게 만들 수 있습니다.

    2025-06-29 09:49

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 32,827건 / 2 페이지

검색

게시물 검색