JavaScript中將JSONArray文字內容轉JSON物件陣列
年底了,冒個泡,娛樂一下。寫個JavaScript函式,其功能是將JSONArray文字內容轉換為JSONObject物件陣列,程式碼如下:
// 字串轉換為包含JSONObject的陣列
function string2JsonArray(s) {
// [的位置
var sBeginIndex = s.indexOf("[");
// ]的位置
var sEndIndex = s.indexOf("]");
if (sBeginIndex == -1 || sEndIndex == -1) return null;
// 最後逗號方便統一處理
var jastr = s.substring(sBeginIndex + 1, sEndIndex).trim() + ",";
var sArr = jastr.split("{"); // sArr第一個成員為空
//
var joCount = sArr.length - 1;
var result = new Array(joCount);
for (var i = 0; i < joCount; i++) {
// 最後,號的位置
var cIndex = sArr[i + 1].lastIndexOf(",");
result[i] = JSON.parse("{" + sArr[i + 1].substring(0, cIndex));
}
//
return result;
}
大家可以看到,這裡使用了最最原始、最最粗獷的方法,通過字串相關的一系列函式來處理文字內容。
第一步是做簡單的格式檢測,找到[和]符號的索引位置,它們是JSONArray文字的開始和結束符號。
第二步是通過[和]符號的索引值來擷取其中的一系列JSONObject文字內容,並在最後加一個逗號,其目的是方便稍後的統一處理。
第三步,將一系列的JSONObject內容通過{符號分割為陣列(sArr),sArr陣列中的第一個成員應該為空,而JSONObject內容是從第二個成員開始,只是前面少了{符號,最後多了個逗號。
最後,通過迴圈對sArr成員進行處理,在其前面加{符號,刪除最後的逗號,這樣就變成了可用的JSONObject文字內容,通過JSON.parse()函式可以將文字轉換為JSON物件。
下面的程式碼是對此函式的測試。
var sJsonArray = "[{\"Name\": \"Tom\",\"Sex\": \"1\"},{\"Name\": \"Jerry\",\"Sex\": \"1\"},{\"Name\": \"Mary\",\"Sex\": \"2\"}]";
var arrJsonObject = string2JsonArray(sJsonArray);
alert(arrJsonObject[1].Name); // Jerry
程式碼會顯示Jerry。
相關文章
- 將json格式物件轉換成陣列物件JSON物件陣列
- JSON物件中的JSONObject和JSONArray以及與Map、String、陣列的轉化JSON物件Object陣列
- JavaScript 之 物件/JSON/陣列JavaScript物件JSON陣列
- json中物件陣列迭代JSON物件陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- js遍歷拼接list集合物件,JSONArray陣列物件JSON陣列
- jQuery將類陣列物件轉換為陣列jQuery陣列物件
- Javascript中的陣列物件排序JavaScript陣列物件排序
- Javascript 物件 – 陣列物件JavaScript物件陣列
- JavaScript將陣列轉換為字串JavaScript陣列字串
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- JavaScript將JSON格式字串轉換為物件JavaScriptJSON字串物件
- php陣列轉換為json,json又轉化為php物件。PHP陣列JSON物件
- JavaScript:如何將JSON物件轉換成JSON字串呢JavaScriptJSON物件字串
- PHP利用JSON將XML轉換為陣列PHPJSONXML陣列
- Web前端技術分享:Javascript中的內建物件陣列講解Web前端JavaScript物件陣列
- javascript如何將字串轉換成陣列JavaScript字串陣列
- javascript如何將字串轉換成json格式物件JavaScript字串JSON物件
- javascript將類陣列轉換為陣列程式碼例項JavaScript陣列
- js,javascript陣列物件的父級物件 – 子集物件(陣列物件相減)JSJavaScript陣列物件
- js將xml格式內容轉換為json格式XMLJSON
- mysql json陣列內物件屬性 多個值搜尋MySqlJSON陣列物件
- 從JavaScript中的類陣列物件說起JavaScript陣列物件
- 內建物件--Array(陣列)物件陣列
- 長沙Web前端培訓:Javascript中的內建物件陣列講解Web前端JavaScript物件陣列
- JavaScript之內部陣列JavaScript陣列
- json陣列和json物件的包含關係JSON陣列物件
- JavaScript 文字框輸入內容同步JavaScript
- ruby中將陣列轉換成hash陣列
- js將陣列轉字元,字元轉回陣列JS陣列字元
- 服務端JSON內容中有富文字時服務端JSON
- JavaScript select選中項的value值和文字內容JavaScript
- vue js 物件轉陣列VueJS物件陣列
- json字串 轉換為陣列JSON字串陣列
- json_decode 轉換json物件為陣列需注意true 你加了嗎?JSON物件陣列
- JavaScript學習四(object物件,陣列,)JavaScriptObject物件陣列
- javascript陣列和物件的區別JavaScript陣列物件