【发布时间】:2014-02-06 18:21:18
【问题描述】:
我的服务器上有一个json 文件。如何从 iOS 应用程序更改其内容?我需要写入它或用新文件完全替换该文件。甚至可能吗?谢谢
【问题讨论】:
标签: ios json networking
我的服务器上有一个json 文件。如何从 iOS 应用程序更改其内容?我需要写入它或用新文件完全替换该文件。甚至可能吗?谢谢
【问题讨论】:
标签: ios json networking
这并不特定于 iOS,取决于您对“远程文件”的理解。通常,您会使用 HTTP GET 请求下载 JSON 内容。在这种情况下,“反向”操作将是 HTTP PUSH。您需要远程端(Web 服务)来支持此操作。
【讨论】:
您可以使用以下方法之一:
1- 使用 PHP 通过发送 POST 请求来编辑文件中的数据,其中包含对处理服务器上编辑的 PHP 所做的更改。
2- 使用 PHP 上传新文件并通过将文件上传到您指定的 PHP 脚本 (this link can help) 替换旧文件。
3- 使用 FTP 传输新文件并替换旧文件(您可以使用this library 或使用Apple sample)。
【讨论】:
我认为您需要在服务器端使用某种 API。让我通过例子来解释它: 您有一条以 json 格式返回数据的路由(例如列表或项目评论)。例如
GET domain.com/api/reviews
(it returns json file)
之后您处理这些数据并发送请求以将其存储到您的服务器(经常使用相同的 API 路由)
PUT domain.com/api/reviews
(and put new json data inside a request body, fore example in newJsonData = "{....}")
您的脚本(例如 /api/reviews.php)应该支持 2 种请求:GET 和 PUT。如果它得到 GET 请求,它会返回 json 数据。如果是 PUT 则用新数据重写现有的 json 文件。
阅读有关 REST API 的更多信息:
Objective-C: Best way to access REST API on your iphone
一些建议:
如果您在服务器端没有任何类型的身份验证,那么其他人很容易使用相同的请求在服务器上存储危险数据
使用 AFNetworking 库添加 API 支持非常容易:https://github.com/AFNetworking/AFNetworking
【讨论】: