Json的本地写入和读取,也可以方便在开发中数据的调试
不知道小伙伴们,在开发中,数据调试的过程中,尤其是很多状态的情况下调试,是不是总是麻烦后台的小哥改变不同的状态,总感觉这样太麻烦了,
那么就可以,把数据写入到本地,然后去沙盒中,找到这个写入的文件,直接去改变这个文件中的数据。之后就可以不用再网络请求了,可以直接读取这个文件的数据来调试自己的界面了,
YXJsonSaveOrLoadTool.h
@interface YXJsonSaveOrLoadTool : NSObject +(instancetype)shareTool;
//** 写入数据 */
-(void)SaveJsonWith:(id)dict UrlType:(NSString *)urlType;
//** 读取数据 */
-(NSMutableDictionary*)loadJsonFormFile:(NSString *)urlType;
@end
YXJsonSaveOrLoadTool.m
@implementation YXJsonSaveOrLoadTool
+(instancetype)shareTool{
static dispatch_once_t onceToken;
static YXJsonSaveOrLoadTool *instance;
dispatch_once(&onceToken, ^{
instance = [[YXJsonSaveOrLoadTool alloc]init];
});
return instance;
}
//** 写入数据 */
-(void)SaveJsonWith:(id)dict UrlType:(NSString *)urlType{
if (dict == nil || dict == [NSNull null]) {
return;
}
if (urlType.length==0) {
urlType = @"test";
}
NSString * path = [self pathForDataFile:urlType];
[dict writeToFile:path atomically:YES];
}
//** 读取数据 */
-(NSMutableDictionary*)loadJsonFormFile:(NSString *)urlType
{
NSString * path = [self pathForDataFile:urlType];
NSMutableDictionary * rootObject = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
if (rootObject == nil ) {
rootObject = [[NSMutableDictionary alloc] initWithCapacity:0];
}
return rootObject;
}
//** 路径 */
-(NSString *)pathForDataFile:(NSString *)urltype {
NSArray* documentDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* path = nil;
if (documentDir) {
path = [documentDir objectAtIndex:0];
}
return [NSString stringWithFormat:@"%@/%@.%@", path,urltype,@"json"];
}
@end
新的方式:
如果后台给的有返回事例代码json,直接复制json到本地,把json文件到路径放到下面就可以直接获取了,这样获取的结果和后台返回的一样,可以实时修改json状态,不用重复运行模拟器,刷新数据就可以看到实时数据了
NSDictionary *objc = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:@"本地的json文件路径"] options: error:nil];
如果有什么错误的地方,请不惜指教,
Json的本地写入和读取,也可以方便在开发中数据的调试的更多相关文章
- Android存储Json到本地,和读取本地Json
/** * 保存json到本地 * @param mActivity * @param filename * @param content */ public static File dir = ne ...
- ios本地文件内容读取,.json .plist 文件读写
ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...
- pyhton 从web获取json数据 保存到本地然后再读取
从web中获取json数据直接进行处理总认为太慢.主要是从web中获取获取数据的过程有点慢. 所以就在想 假设先利用空暇时间把json数据获取并保存到本地,然后再从本地文件里读取和操作.应该就要快非常 ...
- unity 通过JsonUtility实现json数据的本地保存和读取
本文主要讲解json数据在本地的保存和读取,使用的是unity5之后提供的JsonUtility工具. 一.关于json数据的保存 在实际开发中,有时候可能涉及到大量数据保存到本地,以便于下次客户端的 ...
- IOS Android支持中文与本地文件的读取写入
转自http://www.xuanyusong.com/archives/1069 和http://www.benmutou.com/archives/2094 前几天有个朋友问我为什么在IOS平台中 ...
- HDFS写入和读取流程
HDFS写入和读取流程 一.HDFS HDFS全称是Hadoop Distributed System.HDFS是为以流的方式存取大文件而设计的.适用于几百MB,GB以及TB,并写一次读多次的场合.而 ...
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...
- Python_MySQL数据库的写入与读取
[需求]1. 在数据库中创建表,且能按时间自动创建新表 2. 数据写入数据库 3. 从数据库读取数据 1. 创建表,并自动更新 def Creat_Table(InitMySQL,tabel_name ...
- java一行一行写入或读取数据
原文:http://www.cnblogs.com/linjiqin/archive/2011/03/23/1992250.html 假如E:/phsftp/evdokey目录下有个evdokey_2 ...
随机推荐
- [Xcode 实际操作]四、常用控件-(17)为MKMapView地图上显示提示框
目录:[Swift]Xcode实际操作 本文将演示当点击地图上的标注圆点时,弹出信息窗口. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...
- [USACO09OCT]热浪Heat Wave Dijkstra
题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...
- Java基础笔记(十)—— 数组
数组是具有相同类型的数据的集合,是一种引用数据类型,一般具有固定的长度,并且在内存中占据连续的空间. 数组声明:数据类型[ ] 数组名; 数据类型 数组名[ ]; 如:int[ ...
- JMETER进行REST API测试(分步指南)
我确定你在这里是因为你需要加载测试Json Rest API.这并不奇怪,因为Rest API现在越来越受欢迎. 这本指南的目的:帮助您进行负载测试一个Json的 REST API 通过一个具体的例子 ...
- linux环境下jdk部署配置
1.java官网下载相关的jdk包 2.配置系统环境变量,编辑/etc/profile文件,在文件的末尾添加一下信息: export JAVA_HOME=/usr/jdk1.8.0_101export ...
- DSL与GPL
一.DSL 与 GPL DSL(Domain-Specified Language 领域特定语言),而与 DSL 相对的就是 GPL,最常见的 DSL 包括 Regex 以及 HTML & C ...
- [Leetcode]011. Container With Most Water
public class Solution { public int maxArea(int[] height) { int left = 0, right = height.length - 1; ...
- 【ACM】吝啬的国度 - DFS (图)
吝啬的国度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...
- win10的一些设置
win10进入安全模式: 左下角->设置->更新和安全->恢复->立即重启 (重启后进入的界面可以进行一些设置来进入安全模式) win10切换账户: 任务管理器->账户
- Storm概念学习系列之Worker、Task、Executor三者之间的关系
不多说,直接上干货! Worker.Task.Executor三者之间的关系 Storm集群中的一个物理节点启动一个或者多个Worker进程,集群的Topology都是通过这些Worker进程运行的. ...