문제

여기에 이미지 설명을 입력하십시오> JSON

구문 분석을위한 내 방법이 있습니다.
var apiUrl = NSURL(string: "http://127.0.0.1/api.php")
var apiData = NSData.dataWithContentsOfURL(apiUrl, options: NSDataReadingOptions.DataReadingUncached, error: nil)

var apiJson = NSJSONSerialization.JSONObjectWithData(apiData, options: NSJSONReadingOptions.AllowFragments, error: nil)
.

http://127.0.0.1/api.php URL은 데이터를 반환합니다.

{
    "tit":"服务器",
    "loc":[
        {
            "_name":"北京",
            "evn":"funckEvent:"
        },{
            "_name":"英国",
            "evn":"funckEvent:"
        },{
            "_name":"日本",
            "evn":"funckEvent:"
        },{
            "_name":"发过",
            "evn":"funckEvent:"
        },{
            "_name":"中国",
            "evn":"funckEvent:"
        }
    ]
}
.

JSON 배열을 반복하는 방법? Brackets{"_name":"中国","evn":"funckEvent:"}

의 내용을 인쇄하기 위해 순환시키고 싶습니다.

var loc = apiJson.objectForKey("loc")

도움이 되었습니까?

해결책

해당 코드는 나를 위해 완벽하게 작동합니다 ( 'json.html'에서 정확한 JSON을 제공하는 localhost 서버를 실행하십시오.);그러나 특정 포트 (내 경우, NSURL(string: "http://127.0.0.1:8000/json.html"))를 지정할 때까지 인쇄하지 못했습니다.포트를 명시 적으로 지정 했습니까?

는 NSError 변수를 선언하고이를 전달하여 dataWithContentsofURL가 리턴 한 오류를 실제로 잡아서

var error: NSError?
var apiData = NSData.dataWithContentsOfURL(apiUrl, options: NSDataReadingOptions.DataReadingUncached, error: &error)
.

여기에서 요소를 반복하려면 배열로 캐스팅해야합니다.

var loc = apiJson.objectForKey("loc") as [AnyObject]
for i in loc {
    println(i["_name"])
}
.

이 인쇄됩니다 :

北京
英国
日本
发过
中国
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top