SBJson包的下载地址在上一篇文章中。

能够使用NSDictionary中的键值对来拼接Json数据,很方便,也能够进行嵌套,直接上代码:

    //開始拼接Json字符串
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"mac",@"mac",
@"game",@"game",
@"devicetoken",@"devicetoken",
@"device",@"device",
@"gv",@"gv",
@"lang",@"lang",
@"os",@"os",nil];
NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getSession",@"act",
dataDictionary,@"data",nil];
NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:@"pv",@"pv",
parmDictionary,@"param",nil];
SBJsonWriter *writer = [[SBJsonWriter alloc] init]; NSString *jasonString = [writer stringWithObject:jsonDictionary];
NSLog(@"%@",jasonString);

上面的代码用到了三层嵌套,注意的是,NSDictionary中,前面的是值,后面的是键。

拼接后的结果例如以下:

{"pv":"pv","param":{"act":"getSession","data":{"os":"os","mac":"mac","game":"game","gv":"gv","lang":"lang","devicetoken":"devicetoken","device":"device"}}}

使用Json在线校验工具解析后:

{
"pv": "pv",
"param": {
"act": "getSession",
"data": {
"os": "os",
"mac": "mac",
"game": "game",
"gv": "gv",
"lang": "lang",
"devicetoken": "devicetoken",
"device": "device"
}
}
}

IOS开发之——使用SBJson拼接Json字符串的更多相关文章

  1. iOS开发Swift篇—(三)字符串和数据类型

    iOS开发Swift篇—(三)字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www ...

  2. iOS开发笔记3:XML/JSON数据解析

    这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...

  3. JQuery中根据表单元素动态拼接json 字符串

    // <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  4. ios 把数组对象转成json字符串存起来

    1第一步是我们获取数据源 一般我们都是从接口请求数据 NSArray *subColumnsArray = nil; NSDictionary *dict = [NSJSONSerialization ...

  5. 后台拼接json字符串,传到前台时注意特殊符号处理

    1.后台拼接常用的形式:     sb.AppendFormat("\"字段名\":\"{0}\"", i + 1); 这个要注意字符串截断 ...

  6. ios开发处理服务器返回的时间字符串

    #import <Foundation/Foundation.h> void other(); void string2date(); int main(int argc, const c ...

  7. IOS开发:官方自带的JSON使用

    apple在ios5的时候提供了json的相关处理api,其中最主要的是NSJSONSerialization类. + (BOOL)isValidJSONObject:(id)obj; + (NSDa ...

  8. 自己拼接json字符串,现在用Gson来实现

    StringBuilder stringBuilder = new StringBuilder("["); String ssString; ArrayList<Compet ...

  9. .net拼接json字符串

    { while (reader.Read()) { if (reader.HasRows) { JSONstring += "{"; JSONstring += "\&q ...

随机推荐

  1. Sqlmap渗透测试是常用语句

    1.获取站点信息 sqlmap.py  -u http://.../ 2.获取站点的数据库信息 sqlmap.py -u http://../ --dbs 3.获取数据库DataBaseTest下的表 ...

  2. nginx: [emerg] the size 10485760 of shared memory zone "cache_one" conflicts with already declared size 0

    注意配置段中的区域包含关系. proxy_cache_patch 要在proxy_cache前已经定义. what seems to be the problem? [emerg]: the size ...

  3. HTM5 之 Canvas save 、restore 恢复画布状态的理解

    save是用来保存canvas状态,这句话很关键,意思是指后续对canvas的操作:平移.放缩.旋转.错切.裁剪等可以恢复. 我之前一直没能理解,认为对画布的画线等操作也可以恢复,其实不是这样子的,只 ...

  4. 表复制语句select into from 与 insert into select 区别鉴赏

    select into from 与 insert into select 区别鉴赏 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,fi ...

  5. (大数据工程师学习路径)第五步 MySQL参考手册中文版----MySQL数据库管理

    一.MySQL权限管理 账户权限信息被存储在mysql数据库的user.db.host.tables_priv.columns_priv和procs_priv表中. GRANT和REVOKE语句所用的 ...

  6. 在InstallShield中发布单一的Setup.exe文件

    原文:在InstallShield中发布单一的Setup.exe文件 InstallShield默认的Release模式下,生成了一个setup.exe文件,一个msi文件,以及一些其它的杂项文件. ...

  7. ReactJS入门二

    ReactJS入门学习二 ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事 ...

  8. 简单的工具LogUtil、Toast

    简单的工具LogUtil.Toast     能够用了 import android.content.Context; import android.util.Log; import android. ...

  9. Android pm命令用法

    Sam综观有关PackageManager时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下. 这个命令与Package有关.且很有用.所以研究之. 0. Usage ...

  10. TCP在三次握手协议和四波(图)

    设定TCP需要建立一个三次握手的能力,断开需要握手.整步骤,如看到下面的附图: 先来看看怎样建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...