前后台通信时,前端拿到后端json转换成类对象过程中出错,查看了一下午前端代码找原因,最后发现是后台传来的数据格式有问题。如下:
正确格式:
{"list":"[{\"ip\":\"10.12.22.104\",\"ncid\":
\"NC10483805FCD\",\"vcpufree\":22,\"vmemfree
\":98670407680,\"recvbytes\":30120917906,\"diskfree
\":5935069897728,\"speedout\":19939.762948610216,
\"state\":1,\"disktotal\":6327161663488,\"speedin
\":300852.258990899,\"vdiskfree\":3027649953792,\"mac
\":\"00:8c:fa:11:06:ec\",\"sendbytes\":3683991,
\"memrate\":51.51774624300081,\"memory\":101354762240,
\"vdisktotal\":3379437764608,\"cpu\":24,\"cpurate
\":3.838970740817601},{\"ip\":\"10.12.22.102\",\"ncid
\":\"NC1027BCB1186\",\"vcpufree\":18,\"vmemfree
\":94375436288,\"recvbytes\":38228339445,\"diskfree
\":9560587742208,\"speedout\":9748.403588832833,
\"state\":1,\"disktotal\":10299453739008,\"speedin
\":10864.921724249649,\"vdiskfree\":3027649953792,
\"mac\":\"00:8c:fa:11:06:a4\",\"sendbytes\":4011606,
\"memrate\":99.47197420841394,\"memory\":101354758144,
\"vdisktotal\":3379437764608,\"cpu\":24,\"cpurate
\":5.5303276029841015}]","result":"true","description":
"success"}
错误格式:
{"list":"
{\"state\":\"0\",
\"disk_size\":28109250560,
\"name\":\"AF1898.20140711144146\",
\"vdisklist\":\"\",
\"path\":\"/home/cloud/vebula/mounts/saves/\",
\"virt_size\":53687091200,
\"vmid\":\"AF1898\",
\"createtime\"\"20140711144146\"}",
"result":"true","
description":"success"}
经验积累,以后遇类似问题可先考虑查看数据格式。