如何从服务器响应中解析 json?
Posted
技术标签:
【中文标题】如何从服务器响应中解析 json?【英文标题】:how to parse json from server response? 【发布时间】:2014-01-17 07:50:53 【问题描述】:我正在使用 AFNetworking 进行 Web API 调用。 我能够调用 API 并能够接收来自服务器的响应。 但 m 无法解析 json。
以下是来自服务器的响应:
<string xmlns="http://tempuri.org/">
"ExistsInDB": "False", "CanSave": "True", "EntityName": "ACCOUNT", "TypeDescription":
"Company", "TypePluralDescription": "Companies", "RequiredProperties":
"SalesAchiever.Data.SAQueryFieldSet", "MetaData": "", "ReadOnly": "False", "ACCTNAME":
"", "AREA_ID": "", "ACCT_TYPE_ID": "", "ADDR1": "", "ADDR2": "", "ADDR3": "", "TOWN":
"", "COUNTY": "", "POSTCODE": "", "COUNTRY": "", "TEL": "", "FAX": "", "EMAILORWEB":
"", "BUYGRP_ID": "", "STATUS": "", "SIC_CODE_ID": "", "CURRENCY_ID": "", "CALL_FREQ":
"0", "DORMANT": "False", "CREATOR_ID": "", "CREATED_ON": "01/01/0001 00:00:00",
"LAST_EDITOR_ID": "", "LAST_EDITED": "01/01/0001 00:00:00", "LAST_ACTION_BY": "",
"LAST_ACTION": "01/01/0001 00:00:00", "NEXT_ACTION_BY": ""
</string>
我的问题是我能够从服务器获取响应。但是响应包含一些头文件。即<string>....data</string>
。
我想从响应中删除该头文件并保存到 NSDictionary
谁能帮我解决这个问题? 我是这个平台的新手。
提前致谢。
【问题讨论】:
显示您当前拥有的 AFNetworking 代码。为什么服务器返回 JSON 封装在 XML 中? 可能是您错过了在请求中设置“Accept”标头:Accept: application/json
。
如果你想要json,为什么要把它设置为接受html?
bcoz 之前我将头文件设置为:[self setDefaultHeader:@"Accept" value:@"application/json"];所以应用程序崩溃了状态:AFNetworkingErrorDomain Code=-1016
【参考方案1】:
在服务器中添加头文件:
例如,如果您使用的是 php,请添加:
header('Content-Type: application/json');
【讨论】:
以上是关于如何从服务器响应中解析 json?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AJAX POST 请求后解析来自服务器的 JSON 响应?
解析从 android onMessageReceived 上的 fcm 响应获得的 json
Mechanize Rails - Web Scraping - 服务器使用JSON进行响应 - 如何将URL解析为下载CSV