将字典或者数组转换成JSON数据或者字符串

源码:

NSDictionary+JSON.h 与 NSDictionary+JSON.m

//
// NSDictionary+JSON.h
// Category
//
// Created by YouXianMing on 15-2-09.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import <Foundation/Foundation.h> @interface NSDictionary (JSON) /**
* 转换成JSON串字符串(没有可读性)
*
* @return JSON字符串
*/
- (NSString *)toJSONString; /**
* 转换成JSON串字符串(有可读性)
*
* @return JSON字符串
*/
- (NSString *)toReadableJSONString; /**
* 转换成JSON数据
*
* @return JSON数据
*/
- (NSData *)toJSONData; @end
//
// NSDictionary+JSON.m
// Category
//
// Created by YouXianMing on 15-2-09.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import "NSDictionary+JSON.h" @implementation NSDictionary (JSON) - (NSString *)toJSONString {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
error:nil]; if (data == nil) {
return nil;
} NSString *string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
return string;
} - (NSString *)toReadableJSONString {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil]; if (data == nil) {
return nil;
} NSString *string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
return string;
} - (NSData *)toJSONData {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil]; return data;
} @end

NSArray+JSON.h 与 NSArray+JSON.m

//
// NSArray+JSON.h
// Category
//
// Created by YouXianMing on 15-2-09.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import <Foundation/Foundation.h> @interface NSArray (JSON) /**
* 转换成JSON串字符串(没有可读性)
*
* @return JSON字符串
*/
- (NSString *)toJSONString; /**
* 转换成JSON串字符串(有可读性)
*
* @return JSON字符串
*/
- (NSString *)toReadableJSONString; /**
* 转换成JSON数据
*
* @return JSON数据
*/
- (NSData *)toJSONData; @end
//
// NSArray+JSON.m
// Category
//
// Created by YouXianMing on 15-2-09.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import "NSArray+JSON.h" @implementation NSArray (JSON) - (NSString *)toJSONString {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
error:nil]; if (data == nil) {
return nil;
} NSString *string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
return string;
} - (NSString *)toReadableJSONString {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil]; if (data == nil) {
return nil;
} NSString *string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
return string;
} - (NSData *)toJSONData {
NSData *data = [NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil]; return data;
} @end

使用:

将字典或者数组转换成JSON数据或者字符串的更多相关文章

  1. java中将数组、对象、Map、List转换成JSON数据

    如果要将数组.对象.Map.List转换成JSON数据,那我们需要一些jar包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar commons-logging.ja ...

  2. jquery里把数组转换成json的方法

    首先来看,jquery里自带的,和json相关的函数: 1.$.parseJSON  :  用来解析JSON字符串,返回一个对象. 什么叫“JSON字符串”? 比如: var a={name:&quo ...

  3. 字符串集合或字符串数组转换成json数组

    字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...

  4. js如何把字符串转换成json数据的方法

    js如何把字符串转换成json数据的方法 function strtojson(str){ var json = eval('(' + str + ')'); return json; } 方法二 f ...

  5. $.toJSON的用法或把数组转换成json类型

    1. html页面全部代码 <html> <head>     <title></title> <script src="../../S ...

  6. C# DataTable 转换成JSON数据

    原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using S ...

  7. python2.7字典转换成json时中文字符串变成unicode的问题:

    参考:http://blog.csdn.net/u014431852/article/details/53058951 编码问题: python2.7字典转换成json时中文字符串变成unicode的 ...

  8. C#将datatable的某一列转换成json格式的字符串

    将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的 ...

  9. java中object数据怎么转换成json数据

    可以通过这个(json-lib-2.3-jdk15.jar)jar里的方法转换 JSONObject json = JSONObject.fromObject(Object); 如果对象数组 JSON ...

随机推荐

  1. ls命令显示的total你知道代表着什么吗?

    今天我无意间在用ls命令的时候发现显示的内容里的total,这个total代表着什么,引起了我的疑惑. 接下来开始解开它的神秘面纱. total后面的数字是指当前目录下所有文件所占用的空间总和,它是怎 ...

  2. 搭建jenkins

    使用Jenkins配置Git+Maven的自动化构建 实现背景:Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(就是Jenkins的安装位置),进行编译.打包和发布到容器中.在J ...

  3. chown -R 用户名:组名 ./ 及 chown用法介绍

    当我们在不通过yum(CentOS).apt-get(Ubuntu)来安装MySQL的时候,通常执行以下命令来改变目录的拥有者: [root@localhost ~]# chown -R mysql: ...

  4. Android 蓝牙操作详解

    1.启用蓝牙并使设备处于可发现状态    1.1 在使用BluetoothAdapter类的实例进操作之前,应启用isEnable()方法检查设备是否启用了蓝牙适配器.       // 使用意图提示 ...

  5. .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7

    目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...

  6. Xcode8如何创建Framework静态SDK库

    iOS的软件开发工具包SDK,一般是以库的形式出现,从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.开发过程中,我们常常会用到第三方的SDK.尤其是微信.QQ.百度地图.支付功能等.其 ...

  7. JVM读书笔记

    1 概念 java virtual machine为java虚拟机,运行使用jdk中编译器编译的java程序. 2 JVM内存模型 程序计数器:线程私有.当前线程正在执行的行号指示器. Java虚拟机 ...

  8. JAVA虚拟机的生命周期

    一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...

  9. Form表单中Post与Get方法的区别

    Form提供了两种数据传输的方式:get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响. Form中的get和post方法,在数据传输过程中分别 ...

  10. 基于jQuery的软键盘

    基于jQuery的软键盘   前些天写了一个基于基于jQuery的数字键盘,今天给大家带来一个基于jQuery的全字母键盘插件(支持全字母大小写切换,数字输入,退格清除,关闭功能,可调整大小和键盘位置 ...