es6將txt資料序列化成json
原資料(txt格式)
CN1100 PROVINCE 北京市
CN1101 CITY 北京市-北京市
CN1300 PROVINCE 河北省
CN1303 CITY 河北省-秦皇島市
CN1309 CITY 河北省-滄州市
CN1311 CITY 河北省-衡水市
CN3500 PROVINCE 福建省
CN3501 CITY 福建省-福州市
CN3503 CITY 福建省-莆田市
CN3600 PROVINCE 江西省
CN3601 CITY 江西省-南昌市
CN3609 CITY 江西省-宜春市
CN3611 CITY 江西省-上饒市
期望的JSON格式
[
{
"code": "CN11",
"province": "北京市",
"city": [
{
"code": "01",
"name": "北京市"
}
]
},
{
"code": "CN13",
"province": "河北省",
"city": [
{
"code": "03",
"name": "秦皇島市"
},
{
"code": "09",
"name": "滄州市"
},
{
"code": "11",
"name": "衡水市"
}
]
},
{
"code": "CN35",
"province": "福建省",
"city": [
{
"code": "01",
"name": "福州市"
},
{
"code": "03",
"name": "莆田市"
}
]
},
{
"code": "CN36",
"province": "江西省",
"city": [
{
"code": "01",
"name": "南昌市"
},
{
"code": "09",
"name": "宜春市"
},
{
"code": "11",
"name": "上饒市"
}
]
}
]
步驟:
1、觀察原TXT檔案格式,發現每一行換行了,即使用‘/n’隔開
2、str=`(txt裡的資料)`,let arrStr = str.split('n');
console.log(arrStr)後發現,每行裡一個小字串之間由tab隔開,即使用‘/t’隔開
3、以分割的思維來寫程式碼,多次對字串運用split
let arrStr = str.split('n');
let zoneList = [];
arrStr.map(i => { //呼叫陣列的每個元素i
let item = i.split('t');
//沒有'-'分割,即 省 的欄位
// 例如:CN1300 PROVINCE 河北省
if (i.indexOf("-") == -1) {
zoneList.push({
code: item[0].slice(0, 4),
province: item[2],
city: []
})
} else {
//例如 福建省-福州市
let city = item[2].split('-');
//找到 河北省與河北省-秦皇島市、河北省-滄州市、河北省-衡水市,-前名字相同的
//並只返回一條(這個很關鍵)
let cur = zoneList.find(j => j.province == city[0])
cur.city.push({
code: item[0].slice(4, 6),
name: city[1]
})
}
})
//最後輸出在控制檯上內容太多最好序列化下才看得到
console.log(JSON.stringify(zoneList));
作者:楊肆月
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2812541/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring Boot Cache配置 序列化成JSON字串Spring BootJSON字串
- lazarus資料序列為JSONJSON
- Sqlalchemy 資料模型序列化(轉JSON)SQL模型JSON
- flutter json_annotation和json_serializable處理json資料序列化FlutterJSON
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- Python之資料序列化(json、pickle、shelve)PythonJSON
- Python中序列化/反序列化JSON格式的資料PythonJSON
- 將物件解析為JSON資料和將JSON資料解析為物件的簡單例項物件JSON單例
- delphi基於資料模型(data-model)JSON序列模型JSON
- java實現將資料庫資料轉化成excel表格顯示出來Java資料庫Excel
- 分割模型的資料集由json轉為txt模型JSON
- fastjson:物件轉化成json出現$refASTJSON物件
- C#實體物件序列化成Json,並讓欄位的首字母小寫C#物件JSON
- json序列化與反序列化 (map,struct, slice, 基本資料型別)JSONStruct資料型別
- python解析fiddler匯出txt流量資料為json格式PythonJSON
- 詳解電子表格中的json資料:序列化與反序列化JSON
- go裡面如何將[]int json序列化為[]string?GoJSON
- 將VAE用於時間序列:生成時間序列的合成資料
- 如何將JavaScript轉化成Swift?(一)JavaScriptSwift
- 如何將JavaScript轉化成Swift?(三)JavaScriptSwift
- 如何將JavaScript轉化成Swift?(二)JavaScriptSwift
- JSON-B:簡化 JSON 序列化和反序列化JSON
- JSON資料JSON
- Kotlin Json 序列化KotlinJSON
- jq 將form表單中的資料轉為jsonORMJSON
- 將使用jieba分詞的語料庫轉化成TFIDF向量Jieba分詞
- 將網路圖片 轉化成bitmap
- 給定json資料,將資料與頁面結構進行繫結JSON
- python如何將資料寫入本地txt文字檔案Python
- Newtonsoft.Json序列化JSON字串問題JSON字串
- JSON序列化時將BigDecimal型別轉換成String型別JSONDecimal型別
- python序列資料型別之序列資料的基本操作Python資料型別
- 使用多執行緒查詢百萬條使用者資料將漢字轉化成拼音執行緒
- Flutter中JSON序列化與反序列化FlutterJSON
- C#序列化和反序列化(json)C#JSON
- JSON資料處理框架Jackson精解第一篇-序列化與反序列化核心用法JSON框架
- [C#] CHO.Json操作Json資料C#JSON
- 讀取JSON資料JSON