iOS 如何用JSONKit读写JSON文件

如何用JSONKit读写JSON文件

分类: ios2013-04-20 12:46 510人阅读 评论(0) 收藏 举报

JSON文件格式简单,使用方便,值得一用。

目前已经有多个库支持Json文件的解析,在这之中,JSONkit用起来方便,而且效率比较高,本文介绍的就是JSONKit的使用方法。

1、准备工作

下载JSONKit包:http://download.csdn.net/detail/enuola/4523160

2、写json文件

  • 创建文件

//创建文件目录以及文件,需要用到filemanager

[plain] view plaincopy

  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

  2. NSString *documentsDirectory = [paths objectAtIndex:0];

  3. testDirectory = [documentsDirectory stringByAppendingPathComponent:@"data"];

  4. [fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];

  5. letterllkPath = [testDirectory stringByAppendingPathComponent:@"letterllk.json"];

  • 打开文件准备写

[plain] view plaincopy

  1. //打开文件,需要用到NSFileHandle

  2. NSFileHandle *letterHandle = [NSFileHandle fileHandleForWritingAtPath:letterllkPath];

  • 将内容转换为json数据

JSONkit中支持以下几种数据类型转换:

  • NSString

  • NSArry

  • NSDictionary

使用起来很简单:

[plain] view plaincopy

  1. //原始数据

  2. NSString *str = ….;

  3. NSArry *arry = ….;

  4. NSDictionary *dic = …;
  5. //转换成JSon字符串,就是将原始数据打包

  6. NSString  *strJson = [str JSONString];

  7. NSString  *arryJson = [arry JSONString];

  8. NSString  *dicJson = [dic JSONString];
  9. //或者直接转换成NSData*

  10. NSData *strData = [str JSONData];

  11. NSData *arryData = [arry JSONData];

  12. NSData *dicData = [dic JSONData];

  • 将转换后的json数据写入文本

[plain] view plaincopy

  1. [letterHandle seekToEndOfFile];

  2. [letterHandle writeData:[strJson dataUsingEncoding:NSUTF8StringEncoding]];

  3. 或者

  4. [letterHandle writeData:strData];

3、读json文件

  • 读取文件内容

[plain] view plaincopy

  1. NSString *filePath   =  [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];

  2. NSString *jsonString  =   [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

  • 用json解析内容

[plain] view plaincopy

  1. //根据json文件,逐层解析

  2. NSError *error;

  3. id rawData = [jsonString objectFromJSONStringWithParseOptions:JKParseOptionNone error:&error];
  4. if ( error != nil ) {

  5. }
  6. if ( [rawData isKindOfClass:[NSDictionary class]] )

  7. {}

  8. else if ( [rawData isKindOfClass:[NSArray class]] ) {

  9. }

  10. else {

  11. }

4、总结

Json的编码格式主要包括:

  • []代表NSArry类

  • {}代表一个对象,比如NSDictionary

  • ,代表对象分隔符

  • :代表键值对,或者可以理解为赋值=

JSONkit其实就是自动的帮你将原始数据加上这些符号,或者相反的,去除这些符号

时间: 2024-10-11 05:16:36

iOS 如何用JSONKit读写JSON文件的相关文章

python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串) json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数

【Java】【21】读写Json文件

正文: 1,通用读取方法,返回map public static List<Map> JsonRead(HttpServletRequest request, String path) { List<Map> maps = null; String dir = request.getSession().getServletContext().getRealPath(path); System.out.println(path); System.out.println(dir); i

C++通过jsoncpp类库读写JSON文件

JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择.JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/. 本教程选择第三方库jsoncpp来解析json, jsoncpp是比较出名的c++解析库,在json官网也是首推的. jsoncpp下载地址:http://download.csdn.net/deta

java如何读写json文件

在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是一种实现方式,但是这有一个弊端,因为作为静态资源存储在站内势必就导致信息的安全性很低,所以如果采用这种方式则建议记录一些安全要求很低的配置属性,当然最好的做法就是使用redis缓存技术.下面就json文件的读写进行进一步说明. 1.json通用文件读取方法,这个方法会返回map对象: /** * json读取 * * @para

node读写json文件(进阶)

该方法可用于修改配置文件,直接上代码 fs.readFile('test1.json','utf8',function (err, data) { if(err) console.log(err); var test1=JSON.parse(data); test1.name="li"; var t = JSON.stringify(test1); fs.writeFileSync('test1.json',t) }); 正常情况下从JSON文件读取到字符后再通过JSON.parse没

Unity C# 使用JsonUtility读写Json文件

本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/7146731.html 今天,为大家分享一下unity上的Json序列化,应该一说到这个词语,我们肯定会觉得,这应该是很常用的一个功能点:诚然,我们保存数据的时候,也许会用到json序列化,所以,我们有必要快速了解一下它的简单用法. 1.首先,我们直接新建unity项目,然后新建一个InputData.cs 数据结构类: 代码如下: 1 [Serializable] 2 public cl

如何读写json文件

代码如下: Java代码   import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import org.json.JSONException; import org.json.JSONObject; public class r

Python读写Json文件

一个小例子,使用Json配置文件 # -*- coding: utf-8 -*- import json import time def store(data): with open('data.json', 'w') as json_file: json_file.write(json.dumps(data)) def load(): with open('data.json') as json_file: data = json.load(json_file) return data if

Python 基础 - Json文件读写

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 在python中,JSON 由列表和字典组成. 序列化的两个模块中,json模块是用于