过滤并清除json中的注释字段

我们的后台习惯在接口文档的json示例中直接添加注释,有时候测试环境不满足条件无法测试某部分数据,使用接口文档中的json直接转换成模拟数据就相当方便,但是注释和一些不符合的数据要手动逐一修改。为此做了一个过滤特殊字段的方法。

我在这篇文章中查找到了关于过滤非法字段的方法,但是还是不能满足过滤注释的需求。
比如下面一段json

"data": {"id": "7","type": "1", // 类型:1-会议 2-活动"time": "2018-12-10 11:12", // 日期"content": "会议内容",    // 事项"remark": "会议备注",  // 事项备注...}...
  • 过滤方法
///读取模拟接口文档数据
- (NSDictionary *)readInterfaceValue {//文件路径NSString *path = [[NSBundle mainBundle] pathForResource:@"jsonValue" ofType:@"txt"];//带有注释的json文本NSString *allStr = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];NSScanner *myScanner = [NSScanner scannerWithString:allStr];//扫描NSString *annotStr = nil;NSString *jsonStr = allStr;while ([myScanner isAtEnd] == NO) {//开始扫描[myScanner scanUpToString:@"//" intoString:NULL];[myScanner scanUpToString:@"\n" intoString:&annotStr];//将结果替换//注意 这样写jsonStr =  [jsonStr stringByReplacingOccurrencesOfString:annotStr withString:@""]; 无法区分json中的”// 事项“和”// 事项备注“ 两个注释jsonStr = [jsonStr stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@\n", annotStr] withString:@"\n"];}if (jsonStr == nil) {return nil;}NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];NSError *error;NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];if(error) {NSLog(@"json解析失败:%@",error);return nil;}return resultDic;
}

iOS过滤json注释字段相关推荐

  1. iOS开源JSON解析库MJExtension

    iOS中JSON与NSObject互转有两种方式:1.iOS自带类NSJSONSerialization 2.第三方开源库SBJSON.JSONKit.MJExtension.项目中一直用MJExte ...

  2. flex与java间用json传输数据,如何在Java中使用flexjson通过@JSON注释控制序列化?

    @JSON注释用于通过JSONSerializer类在序列化过程,以排除或包括的字段.我们可以使用JSONSerializer类的serialize()方法对目标实例执行浅化序列化. 语法@Reten ...

  3. Spring中自定义JSON注释

    工具类代码下载地址:链接:http://pan.baidu.com/s/1qYNQOGW 密码:e18w 1.如图1的系统注释,有的时候我们在开发的时候系统的注释并不够用,此时我们可以自己写一些注释来 ...

  4. com.alibaba.fastjson 对象转json剔除字段

    com.alibaba.fastjson 对象转json剔除字段 问题背景描述 问题处理 问题背景描述 java代码保存数据到mysql的同时需要保存一份到es,由于对象字段很多,建两个实体类分别写值 ...

  5. webapi 控制json的字段(key)显示顺序

    原文:webapi 控制json的字段(key)显示顺序 使用两个c#的特性: 加在类上的:[DataContract] 加在字段上的:[DataMember(Name = "ResultC ...

  6. json mysql 字段 默认值_MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

  7. 在 MyBatis 里,如何将 JSON 型字段到 Java 类的映射

    一.简介 我们在用MyBatis里,很多时间有这样一个需求:POJO里有个属性是非基本数据类型,在DB存储时我们想存的是json格式的字符串,从DB拿出来时想直接映射成目标类型,也即json格式的字符 ...

  8. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  9. 零基础iOS之Json及XML数据解析2

    零基础iOS之Json及XML数据解析http://www.cnblogs.com/dingjianjaja/articles/4798604.html 转载于:https://www.cnblogs ...

最新文章

  1. Linux中root下目录中没有.ssh文件
  2. JavaScript的5种调用函数的方法
  3. solor快速_快速简单高效的搭建 SolrCloud 集群
  4. 10年老分析师:数据分析不只是一个岗位,更是一种职场必备能力
  5. 关于计算机的内存的一点常识
  6. [codeup 1128]出租车费
  7. 必应缤纷桌面产品分析
  8. 华泰证券人工智能系列(1):人工智能选股框架及经典算法简介
  9. 梦幻西游玩家最多的服务器,都说你是《梦幻西游》老玩家,这5个著名服务器你知道几个?...
  10. 高大上~的裸眼3D原理与制作方法
  11. 杭州线上办理水电燃气过户
  12. Android 自定义view 实现点击 展示下拉选项效果
  13. mac怎么做一段卡点音乐
  14. cursor属性(cursor属性hand)
  15. AC/DC 反激 (Flyback) 控制器
  16. 【更新】Project 读写管理控件Aspose.Tasks V17.5发布 | 附下载
  17. 给app用的 小程序wgt包,调用uni.openLocation 页面空白
  18. 学习任务01-配置自己ssh config
  19. 纪念20110325
  20. 可在广域网部署运行的QQ高仿版 -- GG叽叽V1.8(源码)

热门文章

  1. 为什么要使用mysql的stmt_使用mysqli_stmt类
  2. Matlab 中modulate(X,Fc,Fs,METHOD,OPT)函数每一个参数的具体含义
  3. oracle插入数据脚本
  4. 解决oracle插入数据中文乱码
  5. 实用技巧win7旗舰版批量修改文件名的技巧
  6. php怎么重启,修改玩php.ini后如何重启php
  7. 淘宝2013双12报名时间及报名流程
  8. python教案 教学设计_“怎样编写一个教学案例“python编程案例教程电子教案
  9. hibernate问题易犯错误总结
  10. coldfusion下载地址