2013-07-15 88 views
1

在我的Java腳本中,我創建了數組,現在我正在使用stringify方法轉換爲Json Object如何避免特殊字符在Javascript中創建Json對象?

<script type="text/javascript"> 
    var array1 = new Array(); 
    $.ajax({ 
     url : "Result", 
     type : 'POST', 
     data : { 
      "array1" : JSON.stringify(array1), 
      "globalClassId" : globalClassId 
     }}); 
</script> 

但在服務器端array1參數創造一個像["1","2","3"]但我們不希望額外的支架[]

如何刪除這個額外的支架?

如果我們刪除這個額外的[]代碼看起來像"1","2","3", 我們可以簡單地循環它。

+1

剛剛你剛纔問同樣的問題http://stackoverflow.com/questions/17646724/how-to-retrieve-array-values-in-java – veritas

+1

嘗試'array1.join()'而不是'JSON.stringify(array1)' –

回答

-1

我有同樣的問題,所以使用下面的代碼...希望它會後綴您的要求。

JSONObject obj = new JSONObject(request.getParameter("names")); 

List<String> list = new ArrayList<String>(); 
JSONArray array = obj.getJSONArray("interests"); 
for(int i = 0 ; i < array.length() ; i++){ 

} 
+0

但我沒有在我的方法中使用任何HttpRequest參數.. – java

+0

你應該發佈一個答案,我們不是Java。 – OQJF

0

下面的代碼爲我工作..

<script type="text/javascript"> 
     var array1 = new Array(); 
     $.ajax({ 
      url : "Result", 
      type : 'POST', 
      data : { 
       "array1" : array1.join(), 
       "globalClassId" : globalClassId 
      }}); 
    </script> 
+0

這不會轉義特殊字符,如「或, – Sam

+0

另外,我不認爲這會增加雙引號,如您的預期輸出中所示。 – Sam

0

更換

JSON.stringify(array1) 

隨着

JSON.stringify(array1).splice(1, -1) 

請記住,你不妨再添加方爲了方便服務器端的括號將結果正確解析爲JSON。如果您想使用自定義邏輯來解釋數據,請確保正確處理轉義字符。