以 JSON 字符串数组形式获取 AFNetworking 响应的结果

Posted

技术标签:

【中文标题】以 JSON 字符串数组形式获取 AFNetworking 响应的结果【英文标题】:Get the result of AFNetworking response as JSON string array 【发布时间】:2015-12-31 14:51:43 【问题描述】:

我一直试图从 Web 服务获取响应数据作为字符串数组,但我无法做到,Alamofire 无法正常工作,这就是我使用 AFNetworking 的原因。显然响应回来了,但在失败块中,我会将其打印为字符串以显示其返回数据,但作为字符串而不是字符串数组。

这是我的代码:

     let manager = AFHTTPRequestOperationManager()
        manager.responseSerializer = AFJSONResponseSerializer(readingOptions: NSJSONReadingOptions.AllowFragments)

//        manager.responseSerializer.acceptableContentTypes = NSSet(array: ["text/plain", "text/html", "application/json"]) as Set<NSObject>
        manager.GET(url, parameters: nil, success:  (AFHTTPRequestOperation, ewsult) -> Void in
            print("doing the request")
//            print(AFHTTPRequestOperation)
//            print()
            )  (operation, erropr) -> Void in
                print(operation.responseString)

//            print(erropr)
        

    

回复如下:

可选("数组\n(\n [0] => 数组\n (\n [名称] => 苹果汁\n [0] => 苹果汁\n )\n\n [1] => 数组\n (\n [名称] => 苹果汁\n [0] => 苹果汁\n )\n\n [2] => 数组\n (\n [名称] => DryClean\n [0] => DryClean\n )\n\n [3] => 数组\n (\n [name] => DryClean\n [0] => DryClean\n )\n\n)\n\n警告:需要 json_decode()参数 1 为字符串,数组中给出 /home/thegapps/public_html/abualrob/HotelsSysAPI/index.php150 行\n")

总之,我只需要以字符串数组的形式获取响应。

【问题讨论】:

【参考方案1】:

你最好提供数据。 AFNetworing 会将 JSON 解析为 dict 并像

一样使用
NSArray *dictArr = responseObject[@"mydata"];

我的建议你应该

    直接从浏览器访问数据(只需输入源网址,浏览器就会显示) 复制数据到https://jsonformatter.curiousconcept.com/查找格式问题

【讨论】:

以上是关于以 JSON 字符串数组形式获取 AFNetworking 响应的结果的主要内容,如果未能解决你的问题,请参考以下文章

DB::table Select() 以字符串形式返回数组 Laravel

json数组转java对象怎么转

java怎么把数据转成json 数组

工作中记录获取Json数组的坑

工作中记录获取Json数组的坑

React JS将项目推送到数组以获取列表