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。
相關文章
- JavaScript語法中將json轉成陣列JavaScriptJSON陣列
- JavaScript 之 物件/JSON/陣列JavaScript物件JSON陣列
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- Javascript 物件 – 陣列物件JavaScript物件陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- Javascript中的陣列物件排序JavaScript陣列物件排序
- JavaScript將陣列轉換為字串JavaScript陣列字串
- mysql json陣列內物件屬性 多個值搜尋MySqlJSON陣列物件
- Web前端技術分享:Javascript中的內建物件陣列講解Web前端JavaScript物件陣列
- 從JavaScript中的類陣列物件說起JavaScript陣列物件
- json字串 轉換為陣列JSON字串陣列
- 長沙Web前端培訓:Javascript中的內建物件陣列講解Web前端JavaScript物件陣列
- 內建物件--Array(陣列)物件陣列
- js將陣列轉字元,字元轉回陣列JS陣列字元
- vue js 物件轉陣列VueJS物件陣列
- json物件以及陣列鍵值的深度大小寫轉換問題JSON物件陣列
- js 陣列,字串,json互相轉換陣列字串JSON
- 服務端JSON內容中有富文字時服務端JSON
- java將物件轉為json的方式Java物件JSON
- PHP 物件轉換成陣列PHP物件陣列
- JavaScript學習四(object物件,陣列,)JavaScriptObject物件陣列
- Json 陣列JSON陣列
- JavaScript 字串轉換為陣列JavaScript字串陣列
- Java將Boolean轉為Json物件的方法JavaBooleanJSON物件
- eval()將JSON格式字串轉換為物件JSON字串物件
- JS實現將文字或JSON內容下載到檔案中JSON
- JavaScript 深入之類陣列物件與 argumentsJavaScript陣列物件
- 將字串陣列轉換為浮點數陣列字串陣列
- Java中將 int[] 陣列 轉換為 List(ArrayList)Java陣列
- JSONObject與JSONArray 解析JSON格式字串JSONObject字串
- php將內容轉為wordPHP
- PHP中文字串轉陣列PHP字串陣列
- JavaScript監聽文字節點內容改變JavaScript
- CYmysql根據json欄位內容作為查詢條件(包括json陣列)檢索資料dvnMySqlJSON陣列
- Java中使用Fastjson將JSON檔案轉物件JavaASTJSON物件
- JavaScript 推薦直接量建立陣列或者物件JavaScript陣列物件
- 深入理解 JavaScript 物件和陣列拷貝JavaScript物件陣列
- js 物件轉為js陣列 && Object方法JS物件陣列Object