1.传给后台的json字符串。
NSMutableArray *conArr = [[NSMutableArray alloc] initWithCapacity:0]
for (DynmaticModel*model in self .dataArray)
{
if (model.content&&model.content.length>0) {
NSDictionary*dic =@{@"type":model.type,@"content":model.content}
[conArraddObject:dic]
}
}
NSData *priceDta = [NSJSONSerialization dataWithJSONObject:conArr options:kNilOptions error: nil ]
NSString *priceJson = [[NSString alloc] initWithData:priceDta encoding:NSUTF8StringEncoding]
传给后台的priceJson字符串打印如下:
priceJson = [{"type":"1","content":"啦啦啦1"},{"type":"2","content":"http://fengwojiancai.oss-cn-beijing.aliyuncs.com/ios/20200908151508/2020090815150802.png"},{"type":"1","content":"啦啦啦2"}]
2.上传成功后从后台请求下来的字符串如下:
[{"type":"1","content":"啦啦啦1"},{"type":"2","content":"http:\/\/fengwojiancai.oss-cn-beijing.aliyuncs.com\/ios\/20200908151508\/2020090815150802.png"},{"type":"1","content":"啦啦啦2"}]
3.如何处理:
(1)将字符串中的"用引号替换
NSString *str = [ text stringByReplacingOccurrencesOfString:@""" withString:@"\""]
这个str就是你传上去的json字符串。
(2)将json转化为数组
NSData *JSONData = [str dataUsingEncoding:NSUTF8StringEncoding]
NSError*error = nil
NSArray * arr = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingAllowFragments error:&error]
for (NSDictionary *dic in arr) {
NSLog(@"dic = %@",dic)
}
这样就ok了!
转义字符。
在HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符、php 转义符、asp 转义符、vb转义符、 javascript 转义符等等,还有网址中的百分号。
例如,HTML的&lt&gt&amp&quot&copy分别是<,>,&,",©的转义字符
XML只有5个转义符: &lt&gt&amp&quot&apos
拓展资料:
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符。
在HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符php 转义符、asp 转义符、vb转义符、 javascript 转义符等等,还有网址中的百分号。
例如,HTML的&lt&gt&amp&quot&copy分别是<,>,&,",©的转义字符
XML只有5个转义符: &lt&gt&amp&quot&apos
扩展资料:
转义字符组成
1,转义字符串(Escape String),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。比如,要显示小于号(<),就可以写 &lt或者 <。
2,用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。提示:实体名称(Entity)是区分大小写的。
3,备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。
参考资料:
百度百科——转义字符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)