반응형
json 인코딩 문자열 내에서 서브 어레이 데이터 주위에 대괄호를 추가하는 방법은 무엇입니까?
API에 액세스하려고 할 때 JSON 어레이를 다음과 같이 해석해야 합니다.
{"item":[{"id":"123456", "name":"adam"}]}
하지만 내가 다음 코드를 할 때
$data = array("item" => array("id" => "123456", "name" => "adam"));
echo json_encode($data);
다음과 같이 각 괄호 없이 json 배열을 반환합니다.
{"item":{"id":"123456","name":"adam"}}
이 문제를 해결하는 방법을 찾기 위해 몇 시간을 소비했지만 해결책이 떠오르지 않습니다.
다른 것에 싸야 한다array
:
$data = array("item" => array(array("id" => "123456", "name" => "adam")));
이는 동등한 PHP 5.4 어레이 구문을 사용하면 더욱 이해하기 쉬워집니다.
$data = [ "item" => [ ["id" => "123456", "name" => "adam"] ] ];
이것을 JSON과 비교합니다.
{ "item": [ {"id":"123456", "name":"adam" } ] }
설명해야 할 것은 PHP 어레이 중 하나가 어레이로 남아 있는 이유뿐입니다.[]
다른 두 개가 객체로 변환되는 동안 JSON에서{}
다만, 메뉴얼에는 이미 기재되어 있습니다.
배열을 인코딩할 때 키가 0부터 시작하는 연속 숫자 시퀀스가 아닌 경우 모든 키가 문자열로 인코딩되어 각 키와 값의 쌍에 대해 명시적으로 지정됩니다.
이 글을 읽기 전에 저는 다음과 같은 말을 했습니다.
echo json_encode($data);
이 투고를 읽은 후:
echo json_encode(array($data));
괄호는 JSON 객체의 시작과 끝에 표시됩니다.
이 방법을 사용하면 편리하기 때문에 어레이에 항목을 추가할 수 있습니다.
$val = array();
$val["id"]="123456";
$val["name"]="adam";
$data = array();
$data["item"][]=$val;
echo json_encode($data);
아래에 출력됩니다.
{"item":[{"id":"123456", "name":"adam"}]}
언급URL : https://stackoverflow.com/questions/15559735/how-to-add-square-braces-around-subarray-data-inside-of-a-json-encoded-string
반응형
'sourcecode' 카테고리의 다른 글
useState 초기값을 함수로 사용하는 경우 (0) | 2023.03.29 |
---|---|
IOS9 WK Web View접근 제어 허가 발신지 (0) | 2023.03.29 |
에서 C# 개체를 JSON 문자열로 변환하려면 어떻게 해야 합니까?인터넷? (0) | 2023.03.29 |
React + Redux - 폼 컴포넌트에서 CRUD를 처리하는 가장 좋은 방법은 무엇입니까? (0) | 2023.03.29 |
Java Spring Boot에서 log4j2.xml의 기본 위치를 변경하려면 어떻게 해야 합니까? (0) | 2023.03.29 |