作者:
tkdmaf (皮皮快跑)
2016-11-03 21:43:44※ 引述《jeff12280 (猜不透平常心)》之銘言:
: 板上各位神人大大好,小的是swift新手近來讀取web json資料遇到一些問題。
: 想請教板上各位大大還請不吝指教:)
: <?xml version="1.0" encoding="utf-8"?>
: <string xmlns="http://192.xxx.xx.xx:8081/WebServiceTest.asmx">[
: [
: {
: "NonCID": "n10909",
: "Name": "xxx",
: "ClassType": "xxx",
: "City": "xxx",
: "Area": "xxx",
: "Address": "xxx",
: "TelArea": "xxx",
: "Tel": "29857456",
: "Latitude": 25.062047,
: "Longitude": 121.495241
: },
: ]</string>
: 上面是我web service回傳的資料。
: 用json方式去web抓取資料顯示json error: The data couldn’t be read because it
: isn’t in the correct format。
: 我有去確認過假如我把<?xml version="1.0" encoding="utf-8"?>
: <string xmlns="http://192.xxx.xx.xx:8081/WebServiceTest.asmx"> 及 </string>
: 都去除掉這資料就是json格式。
: 想請問各位大大要怎麼只抓到{}內的json資料呢?
首先第一件事,你確定你明白json的格式嗎?
{"key":"value"} => object or dictionary
[value1,value2,value3] => array
[{k1:v1,k2:v2,...},{k1:v1,k2:v2,...}] => May be ... row data
{k1:[],k2:[]} => dictionary value is array.....
反正json型式也可以無限包………(無限出包?)
假如上面的東西對你來說是易如反掌,那應該在後端就知道該吐出的格式為何。
.net我不熟,但是php有像是json_encode()的東西可以把array跟object直接轉成
josnString
然後其實我個人覺得swift在處理url request或json format都很「搞工」。
所以我會建議不想慢慢搞,如果你會使用cocoapods的話。
可以使用Alamofire(url request)以及SwiftyJSON(JSON format)。
比較可以省很多力氣啦。