2011-05-04 15 views
0
{title:'Alan', hasChild:true}, 
{title:'Alice', hasDetail:true}, 
{title:'Amos'}, 
{title:'Alonzo'}, 
{title:'Brad'}, 
{title:'Brent'},  
{title:'Billy'},  
{title:'Brenda'}, 
{title:'Callie'}, 
{title:'Cassie'}, 
{title:'Chris'}, 

이것은 내 JSON 응답 데이터입니다. 이제 각 데이터의 첫 번째 항목에 Header label을 어떻게 추가할까요? 어떤 것은 내가 A를 구별하게 만들 것입니다. 이것들은 B입니다.JSON 응답에 레이블 추가하기

변경된 응답은 다음과 같아야합니다.

{title:'Alan', hasChild:true, header:'A'}, 
    {title:'Alice', hasDetail:true},{title:'Alexander'}, 
    {title:'Amos'}, 
    {title:'Alonzo'}, 
    {title:'Brad', header:'B'}, 
    {title:'Brent'},  
    {title:'Billy'},  
    {title:'Brenda'}, 
    {title:'Callie', header:'C'}, 
    {title:'Cassie'}, 
    {title:'Chris'}, 
+1

당신이 클라이언트 측에서 의미하는 경우, 단순히 배열을 반복하고 가서 속성을 추가 할 수 있습니다. 그렇지 않은 경우 자세한 내용을 제공해야합니다. – HurnsMobile

+0

JSON이 아닙니다.그것은 대괄호가 빠진 것으로 보이고, 뒤에 쉼표가 있으며, 값 주위에 잘못된 따옴표가 있고 키 주위에 따옴표가 없습니다. – Quentin

+0

나에게 JSON처럼 보이지 않습니다. 또한, 제안 된 결과물은 매우 의미 론적으로 모호한 것처럼 보입니다. 어떤 것이 든, _each_ 필드에'header' 필드를 가져야합니다. 그러나 여기에는 요점이 없습니다. 정보는 이미 존재합니다 : 각 제목의 첫 글자로. –

답변

2

귀하의 인용 코드/마크 업 JSON 없습니다. (JSON에서는 속성 이름을 큰 따옴표로 묶어야하며 문자열 리터럴은 큰 따옴표로 묶어야합니다.) JavaScript 배열 리터럴의 중간에서 발췌 한 것처럼 보입니다. 각 배열 항목은 객체 리터럴로 정의됩니다. 예 :

난 당신이 제 1 및 제 2 버전 사이에 두 가지 일을했던 질문에 생각
var people = [ 
    {title:'Alan', hasChild:true}, 
    {title:'Alice', hasDetail:true}, 
    {title:'Amos'}, 
    {title:'Alonzo'} 
]; 

: 당신은 첫 번째 항목 ("앨런")에 header 속성을 추가 한

  1. (그리고 "Brad"와 "Callie"로 변경).
  2. "Alice"와 "Amos"사이에 새로운 "Alexander"항목을 추가했습니다. 당신이 그 리터럴을 정의하는 배열에 대한 참조가있는 경우

, 당신은 충분히 쉽게 속성 (위 # 1)를 추가 할 수 있습니다

에서 객체에 새 속성, header를 생성
people[0].header = 'A'; 

배열에 0 위치. 인덱스 2 시작 :

people.splice(2, 0, {title: 'Alexander'}); 

말한다 :

자바 스크립트는 배열에 삽입하는 기능을 가지고, 당신은 중간 (위 # 2)에 배열로 삽입하는 데 사용할 수있는, splice라고 ("Amos"항목), 0 요소를 제거한 다음이 요소를 삽입하십시오. 변경은 제자리에서 이루어집니다.

JSON이 포함 된 문자열 인 경우 JSON을 문자열 파싱 및 접합 작업 또는 JSON을 개체로 deserialize하고 개체에 속성을 추가 한 다음, JSON으로 다시 직렬화합니다.

[ 
    {"title":"Alan", "hasChild":true}, 
    {"title":"Alice", "hasDetail":true}, 
    {"title":"Amos"}, 
    {"title":"Alonzo"} 
] 

는 JSON 형식으로 저장된 파일에 표시하거나, 와이어 것처럼 같습니다


여기 유효한 JSON 형태의 상기 배열의 한 예이다. 물론 프로그램 코드의 문자열 리터럴 내에서 해당 언어의 적절한 문자열 리터럴 형식이어야하며, 이중 인용 부호는   — 인 경우   —이면 이스케이프 처리가 필요합니다. 예를 들어, JSON 리터럴 자바 스크립트 문자열로하는 것이 :

var jsonString = '[' + 
    '{"title":"Alan", "hasChild":true},' + 
    '{"title":"Alice", "hasDetail":true},' + 
    '{"title":"Amos"},' + 
    '{"title":"Alonzo"}' + 
']'; 
관련 문제