`
bsr1983
  • 浏览: 1124337 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ios 中使用SBJson拼接和解析json

 
阅读更多
1.ios解析json
使用开源json包,项目地址:
     http://stig.github.com/json-framework/
NSData * responseData = [respones responseData];
     
     NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
SBJsonParser * parser = [[SBJsonParser alloc]init];
     NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
[parser release];
     //发送者
     NSString * sender = [dicMessageInfo objectForKey:@"sender"];

2.json嵌套对象解析:
//要上传的字符串
    NSString *dataStr=[[NSString alloc] initWithString:@"{\"cross\":{\"1\":\"true\",\"2\":\"false\",\"3\":\"true\"}}"];
//获取响应返回字符串
NSData * responseData = [respones responseData];
       
        NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
//嵌套解析
SBJsonParser * parser = [[SBJsonParser alloc]init];
           
            NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
           
            NSMutableDictionary * cross = [dicMessageInfo objectForKey:@"cross"];
           
            NSString *cross1= [cross objectForKey:@"1"];
            //解析json到各个字符串
            //发送者
            [parser release];
            NSLog(@"cross1: %@",cross1);
3.拼接json字符串

通过使用SBJson中的SBJsonWriter类的方法- (NSString*)stringWithObject:(id)value可以将一个对象中的值格式化为json字符串,符合key/value格式的数据封装到NSDictionary后可以使用该方法进行格式化,其他数据通过拼接字符串的方式格式化。
在拼接过程中可以使用类NSMutableString的方法:
- (void)appendString:(NSString *)aString;、
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
动态添加字符串。
拼接的字符串可通过json在线验证的方式验证其格式是否正确,网址为:
http://jsonlint.com/
-(NSString *) getJsonString
{
    NSMutableString *json = [NSMutableString stringWithCapacity:128];
    NSString *jsonString=nil;
    SBJsonWriter *writer = [[SBJsonWriter alloc] init];
    [json appendString:@"{\"data\":{"];
    [json appendFormat:@"\"%@\":\"%d\",",@"reset",reset];
    if(missionStatus!=NULL)
    {
        jsonString=[writer stringWithObject:status];
        if(jsonString!=NULL)
        {
            [json appendString:@"\"status\":"];
            [json appendString:jsonString];
        }
    }
    [json appendString:@"}}"];
    return json;
}
4.利用多个NSDictionary,拼接多层嵌套的json字符串,减少因手工拼接忘记加引号导致的json格式错误
示例代码:
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:mac,@"mac",
                                   game,@"game",
                                   devicetoken,@"devicetoken",
                                   device,@"device",
                                   gv,@"gv",
                                   lang,@"lang",
                                   os,@"os",
                                   hardware,@"hardware",
                                   down,@"down",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 *jsonString=nil;
    jsonString=[writer stringWithObject:jsonDictionary];
    NSLog(@"%@",jsonString);
5.json字符串在线校验网址:
http://jsonlint.com/
分享到:
评论

相关推荐

    ios下json数据解析的SBJson 库

    在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。当涉及到iOS应用与服务器之间的数据交互时,JSON解析库就显得尤为重要。...

    ios下三种解析json的库 sbjson TouchJson JSONKit

    本篇文章将详细介绍三种在iOS开发中常用的JSON解析库:SBJSON、TouchJSON以及JSONKit。 1. **SBJSON** SBJSON是Stig Brautaset开发的一个开源库,它提供了一个简单的方法来解析和生成JSON数据。SBJSON不仅支持...

    SBJSON包的JSON解析

    SBJSON包是iOS和Mac开发中广泛使用的第三方库,用于处理JSON(JavaScript Object Notation)数据的解析和编码。JSON是一种轻量级的数据交换格式,因其简洁和易于阅读的特性,被广泛应用于Web服务和应用程序之间的...

    ios SBJson包

    SBJson是iOS和Mac开发中广泛使用的JSON解析库,它为Objective-C编程语言提供了一种高效、简单的方式来处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    IOS学习之四种Json解析方法的分析demo

    接下来是JSONKit,这是一个早期流行的JSON解析库,它的性能表现优秀,但自从Apple在iOS5中引入了内置的JSON解析支持后,JSONKit的使用逐渐减少。不过,如果你需要在旧项目中优化JSON解析性能,JSONKit仍然是一个不错...

    IOS之JSON数据解析

    本文将深入探讨如何在iOS中解析JSON数据,以“IOS之JSON数据解析”为主题,结合标签“源码”和“工具”,我们将讨论如何使用SBJson框架进行JSON的解析。 首先,JSON是一种轻量级的、易于人阅读和编写的数据格式,...

    SBjson_Ios第三方解析

    SBJSON是iOS开发中常用的第三方JSON解析库,它为Objective-C开发者提供了一种高效、简洁的方式来解析和生成JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于网络通信,因为它...

    SBJson解析库

    本文将详细介绍如何在iOS项目中使用SBJson库进行JSON的解析和编码。 首先,为了在你的iOS项目中引入SBJson库,你需要通过CocoaPods或者手动下载SBJson的源代码。如果你选择使用CocoaPods,确保你的项目已经配置了...

    SBjson解析

    SBJSON是iOS和macOS平台上的一个开源JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库被广泛使用,因为它提供了简单、高效的API,使得开发者能够快速地将JSON数据转换为Objective-C对象,...

    iOS5系统API和5个开源库的JSON解析速度测试

    3. **YAJL (objective-C bindings)**:YAJL是一个C语言的JSON解析器和生成器,它的Objective-C绑定使得在iOS项目中使用变得方便。 4. **JSONKit**:JSONKit是一个高性能的JSON解析和序列化库,其解析速度在许多情况...

    SBJson解析

    SBJson是Objective-C编程语言中一个广泛使用的JSON(JavaScript Object Notation)解析库,由Stig ...通过了解和熟练运用SBJson解析库,开发者可以更高效地处理iOS和macOS应用中的JSON数据,提升应用的性能和用户体验。

    IOS开发---JSON不同的四种解析方式

    在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式,因其简洁明了、易于阅读和编写,同时也容易被机器解析和生成。在iOS应用开发中,我们需要将服务器返回的JSON数据转化为Objective-C...

    SBJsonParser 解析ios json 数据

    - 解析后的数据类型要与JSON原始数据对应,例如JSON中的数字会被解析为NSNumber,而不是NSString。 在实际开发中,理解并熟练使用SBJsonParser可以极大地提高处理JSON数据的效率,简化数据解析的复杂性。同时,结合...

    JSON解析 SBJson

    接下来,我们将详细讲解如何在iOS项目中使用SBJson进行JSON的编码和解码。 ### JSON编码 要将Objective-C对象编码为JSON字符串,你可以使用`SBJsonWriter`类: ```objc // 假设你有一个NSDictionary对象 ...

    json解析库

    在iOS中,我们通常使用第三方库来解析JSON数据,其中“sbjson”是一个著名的库,全称为“Simple JSON”。Sbjson库提供了一套简单易用的API,使得在Objective-C中解析和生成JSON变得轻松。例如,你可以使用`...

    SBjson解析包

    在iOS开发中,SBJson是一个非常流行的JSON解析库,由Stig Brautaset开发。这个解析包提供了Objective-C接口,使得iOS开发者能够方便地将JSON字符串转化为Objective-C对象,如NSArray和NSDictionary,以及将Objective...

    SBJSON解析

    SBJSON是iOS和macOS平台上广泛使用的第三方JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库使得Objective-C开发者能够轻松地将JSON数据转换为Foundation对象,如NSArray、NSDictionary,...

    解析json文档

    SBJSON是iOS和macOS平台上一个高效的JSON解析器和编码器,它由Stig Brautaset开发,以其高性能和易于使用而闻名。 **JSON的基本结构** JSON主要包含两种数据结构:对象和数组。对象是键值对的集合,用花括号{}包围...

    iOS开发第三方类库SBJson.zip

    - **过滤器**:通过自定义过滤器,可以在解码时忽略或修改JSON中的某些键值对。 - **性能优化**:SBJson经过优化,处理速度较快,适合大数据量的JSON操作。 在实际项目中,我们可以通过CocoaPods或Carthage等依赖...

    sbjson 资源包

    "sbjson"是一个开源的JSON(JavaScript Object Notation)解析器和编码器,适用于Objective-C编程语言。这个资源包包含了所有你需要在你的iOS或Mac OS X应用中集成sbjson库的必要组件。以下是对sbjson及其相关知识点...

Global site tag (gtag.js) - Google Analytics