JSONSerialization API不同的url不工作

JSONSerialization API不同的url不工作,json,swift,weather-api,openweathermap,app-transport-security,Json,Swift,Weather Api,Openweathermap,App Transport Security,我正在尝试创建一个基本的天气应用程序,但现在我在应用程序中初始化我的个人api时遇到了问题。问题可能在于URL,因为如果我更改它,它会正常工作。然而,我目前使用的api是唯一适合我国天气的api 另一个有效的url来自我正在关注的在线课程 这是一个不起作用的 <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict>

我正在尝试创建一个基本的天气应用程序,但现在我在应用程序中初始化我的个人api时遇到了问题。问题可能在于URL,因为如果我更改它,它会正常工作。然而,我目前使用的api是唯一适合我国天气的api

另一个有效的url来自我正在关注的在线课程

这是一个不起作用的

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>**nea.gov.sg**</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

你试过把这个换成你的plist吗

<key>**api.nea.gov.sg**</key>
**api.nea.gov.sg**

两个URL都是http还是一个https?还有,当你说“它不工作”时,你是什么意思?你是否得到了一个错误?当我打印出api时,只有openweather.org的api工作,当两个代码完全相同时,只有info.plist的源代码不同。你能在这里添加api调用代码吗?此链接可能会帮助你:。您是否遵循了此处概述的步骤?@PranavKasetti是的,我也检查过了,是的,我会将api调用代码放在topnope上,但不起作用:/,我认为是网站名称中的附加点。>“nea.gov”部分没有错误消息,它打印出“JSON处理失败”,这是Do Catch函数的一部分。您可以将
try
语句替换为
try JSONSerialization.jsonObject(with:urlContent,options:JSONSerialization.ReadingOptions.mutableContainers)吗![字符串:AnyObject]
let url = URL(string: "http://api.nea.gov.sg/api/WebAPI/?dataset=2hr_nowcast&keyref=*[keyCode]*")!

    let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
        if error != nil {
            print(error!)
        } else {

            if let urlContent = data {

                do {

                    let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject

                    print(jsonResult)

                } catch {
                    print("JSON Processing Failed")
                }
            }
        }
    }
    task.resume()
<key>**api.nea.gov.sg**</key>