2016-08-03 105 views
-1

無法從dataObject.Showing undefined獲取value_1無法從javascript中獲取json對象的值

 var errorMessage; 
     var dataObject ={"project_type":"{\"value_1\":\"Ground Mount\"}"}; 
     var project_type_str = dataObject['project_type']; 
     project_type_str = JSON.stringify(project_type_str); 
     if (project_type_str != null && project_type_str.length != 0) { 
      errorMessage = ''; 
     } else { 
      errorMessage = 'Please select a project type'; 
     } 
     alert(project_type_str); 
     var responseJson = {}; 
     var project_type_obj = JSON.parse(project_type_str); 
     alert(project_type_obj); 
     var value = project_type_obj["value_1"]; 

     alert(value); 

感謝您answers.Please幫我

+0

它不清楚是什麼你正在嘗試做的 –

+0

爲什麼這一步:'project_type_str = JSON.stringify(project_type_str);'? 'project_type_str'已經是JSON – Andreas

+0

project_type_str = JSON.stringify(project_type_str);沒有意義 –

回答

1

project_type_str已經是一個字符串了,所以不需要JSON.stringify它。 代碼應正常工作,如果您刪除線

刪除此行

project_type_str = JSON.stringify(project_type_str); 

一種你更好的理解性

比較原始代碼

enter image description here

隨着李NE刪除

enter image description here

+0

非常感謝,它按照我的要求工作。 –

0

你不需要這些額外的報價和轉義字符來定義對象。這樣做:

var dataObject = { 
    "projectType": { 
     "value1": "groundMount" 
    } 
}; 

編輯:我現在看到,你是故意在其字符串表示寫JSON,這樣您可以在以後對其進行解析。我希望你有一個特殊用例,你需要做這樣的事情;否則,定義像我這樣的對象將更容易處理。