2012-01-27 48 views
0

你好,我想要一個沒有2引號的json對象,當前輸出無效。 我如何做到這一點?Javascript JSON不好輸出需要其他

我想正是這一點:

{"format":{"id":"ivf","author":"","title":"","copyright":"","comment":"","album":"","year":"","track":"","genre":""}} 

這是壞輸出不是有效的JSON:

{"format":"{"id":"ivf","author":"","title":"","copyright":"","comment":"","album":"","year":"","track":"","genre":""}"} 

video_format_serialized數據:

{"id":"ivf","author":"","title":"","copyright":"","comment":"","album":"","year":"","track":"","genre":""} 

video_format_serialized = JSON.stringify($('#addprofile_FORM_video_format').serializeObject()); 
alert(video_format_serialized); 
var format_object = { 
    format:video_format_serialized 
}; 
console.log(format_object); 
var string = JSON.stringify(format_object); 
tring.substring(1); 
string.substring(0, string.length-1); 
console.log(string); 
string = string.replace(/\\/g, ""); 
console.log(string); 

UPDATE 這裏是正確的代碼來生成有效的輸出。

var format_object = { 
    format:$('#addprofile_FORM_video_format').serializeObject() 
}; 
console.log(format_object); 
var string = JSON.stringify(format_object); 
string.substring(1); 
string.substring(0, string.length-1); 
console.log(string); 
string = string.replace(/\\/g, ""); 
console.log(string); 
+0

林不知道問題是什麼...你需要將第二個轉換爲第一個? – hvgotcodes 2012-01-27 14:00:06

+0

第二個錯誤的輸出json對象,你會發現需要刪除2個雙引號,但JSON.stringify在輸出上什麼也不做。 – 2012-01-27 14:02:44

回答

1

你應該對象文本上使用JSON.stringify(不是在一根繩子上,這是我認爲你正在做的)來創建JSON - 你知道這將是有效的方式。舉例來說,如果你有

var toConvert = {format: {id: "ivf", "author": ""}};

,你鍵入

JSON.stringify(toConvert);

你會得到

"{"format":{"id":"ivf","author":""}}"

+0

我需要不需要第一個報價和結束報價 – 2012-01-27 14:03:17

+0

我的觀點是如果你在對象字面上使用'stringify' ,您不必擔心... – hvgotcodes 2012-01-27 14:04:24

+0

請注意,在IE7中不支持沒有墊片的情況下, – 2012-01-27 15:49:29