golang 解析 js json數組


今天寫了一個股票的爬蟲,直接抓取的接口,返回時是一個json數組。

用go折騰了半天。

說明:js返回的不是標准json,下標未帶引號,用正則替換了一下。值得做個學習筆記,希望對后來人有幫助

 

ssname := `[{symbol:"sh600378",code:"600378",name:"昊華科技",trade:"14.940",pricechange:"1.360",changepercent:"10.015",buy:"14.940",sell:"0.000",settlement:"13.580",open:"13.850",high:"14.940",low:"13.610",volume:11316872,amount:164723683,ticktime:"15:00:00",per:23.714,pb:2.454,mktcap:1250755.882506,nmc:302044.28076,turnoverratio:5.59766},{symbol:"sh603322",code:"603322",name:"超訊通信",trade:"21.340",pricechange:"1.940",changepercent:"10.000",buy:"21.340",sell:"0.000",settlement:"19.400",open:"20.010",high:"21.340",low:"20.010",volume:5783940,amount:121778331,ticktime:"15:00:00",per:85.36,pb:7.793,mktcap:334013.68,nmc:334013.68,turnoverratio:3.69534}]`

re := regexp.MustCompile(`([a-zA-z]+):`)
ssname = re.ReplaceAllString(ssname, "\"$1\":")
fmt.Println(ssname)
listStrByte := []byte(ssname)

//jsonObj, eee := gjson.DecodeToJson(listStrByte)
// 這里的數據類型一開始定義成了map數組,折騰半天
var jsonObj []interface{}
eee := json.Unmarshal(listStrByte, &jsonObj)
fmt.Println("抓取結果", jsonObj, eee)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM