2013-08-19 2 views
1

JSON.stringify() 메서드를 사용하여 문자열 배열을 PHP 스크립트로 전달할 수있는 JSON 객체로 변환하려고하면 stringify() 메서드가 아무런 의미를 반환하지 않습니다.JSON.stringify()가 작동하지 않습니다.

이것은 입력이 전달되는 유일한 코드입니다. 그것은 다른 어떤 것에 의해 함부로 변경되지 않습니다.

function submitItem() { 
try { 
    var item = []; 
    item.name = $('.itemText').val(); 
    item.type = $('.itemType').val(); 
    item.price = $('.itemPrice').val(); 
    item.color = $('.itemColor').val(); 
    item.desc = $('.itemDesc').val(); 
    item.image = $('.itemImage').val(); 
    item.giftType = $('.itemGiftType').val(); 
    item.avail = $('.itemAvail').val(); 
    item.giftable = $('.itemGiftable').val(); 
    item.ranking = $('.itemRanking').val(); 
    item.basicTrack = $('.itemBasic').val(); 
    item.vetTrack = $('.itemVet').val(); 
    item.month = $('.itemMonth').is(':checked'); 
    item.hidden = $('.itemHidden').is(':checked'); 
    item.id = $('.itemID').val(); 

    //Left in for confirmation purposes 
    var join = []; 
    join[0] = 'test'; 
    join[1] = 'tset'; 
    console.log(JSON.stringify(join)); 

    console.log(item); 
    var JsonItem = JSON.stringify(item); 
    console.log(JsonItem); 
} catch (err) { 
    console.log(err.message); 
} 
} 

이 콘솔에서 다음과 같은 출력을 생성 : 당신이 볼 수 있듯이

The output corresponds to the three console.log() lines at the bottom of the script

는 모두 JSON 항목에 대한 로그 []보다는 어떤 종류의 JSON 문자열로 반환합니다.

이 문제가 발생할 수있는 모든 이유가 인정 될 것입니다.

감사합니다.

+1

배열하기 전에 이의를 가입 변환해야합니다 그들의 numerally-명명 된 속성 ('1','2' 등)이 아닌 자신이 아닌 숫자 속성 ('id'에 따라 캐릭터 라인 화 ,'이름'등). – apsillers

답변

6

"항목"을 배열로 초기화하고 있습니다. 당신은 일반 객체 ({})로 초기화해야합니다

var item = {}; 

json으로 시리얼 라이저는 실제 배열을보고, 그것은 단지 숫자 인덱스 속성을 운영하고 있습니다.

+0

타이머가 완료되면 대답을 수락합니다. 전에는 몰랐어요. 감사 :) – M4Numbers

0

당신은 캐릭터 라인 화

console.log(JSON.stringify({arr: join})); 
관련 문제