当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Swift-JsonSerializer

序列化工具
授权协议 Apache
开发语言 Swift
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 莫选
操作系统 OS X
开源组织
适用人群 未知
 软件概览

Swift-JsonSerializer 是纯 Swift 编写的 JSON 序列化器和反序列化器。

简单示例:

import JsonSerializer

// parse a JSON data
let data: NSData

switch JsonParser.parse(data) {
case .Success(let json):
  println(json["foo"]["bar"].stringValue)
case .Error(let error):
  println(error)
}

// build a JSON structure
let profile: Json = [
  "name": "Swift",
  "started": 2014,
  "keywords": ["OOP", "functional programming", "static types", "iOS"],
]
println(profile.description)      // packed JSON string
println(profile.debugDescription) // pretty JSON string

 

  • 1、本地json数据如下:data.json { "total":2, "status":"ok", "data":[ { "id":1, "name":"周杰伦", "head_image":null, "tel":"1323232232", "email":"zhoujielun@hotmail.com", "birth_day":"1990-02-02", "address":"中国香港"

  • 背景 JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。 但在编程的时候,处理JSON是一件麻烦事。在不引入任何轮子的情况下,我们通常需要先把JSON转为Dictionary,然后还要记住每个数据对应的Key,用这个Key在Dictionary中取出对应的Value来使用。这

  •   项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。 但在编程的时候,处理JSON是一件麻烦事。在不引入任何轮子的情况下,我们通常需要先把JSON转为Di

  • 调用WebApi,发现json里面的属性首字母是小写,反序列化失败,调查发现JsonSerializer.Deserialize里面提供了设置大小写不敏感的参数,实例代码如下: JsonSerializer.Deserialize<对象>(api返回的json, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true} );

 相关资料
  • 我想要的是有条件地为类的对象使用默认BeanSerializer: 我曾经尝试过做这样的事情: 但是这调用MyCustomSerializer的方法,我有永无止境的递归。我怎么能得到适当的序列化对象,我可以用普通bean序列化?

  • 问题内容: 我正在寻找一种在Swift中自动序列化和反序列化类实例的方法。假设我们定义了以下类…… …和实例: 的JSON表示形式如下: 现在,这是我的问题: 我如何序列化实例并获取上面的JSON,而不必手动将类的所有属性添加到变成JSON的字典中? 我如何反序列化上面的JSON并获取静态类型为类型的实例化对象?同样,我不想手动映射属性。 这是使用Json.NET在C#中执行此操作的方法: 问题答

  • Jackson序列化到JSON有一些很好的特性,比如SerializationFeature.write_null_map_values,它允许您避免将null写入序列化对象。 但是,如果我使用自定义的JsonSerializer,这个设置将被忽略,并且我被迫在对WriteStringField的所有调用中进行空检查。例如,我注册了一个自定义的JSONSerializer: 然后在ImportPr

  • 问题内容: 我想要的是对类的对象有条件地使用默认BeanSerializer: 我试图做这样的事情: 但这调用了MyCustomSerializer的方法,而且我永无止境地递归。如何获得可以用于普通bean序列化的适当的Serializer对象? 问题答案: 这需要更复杂的设置:您需要让Jackson创建一个,然后接管,而不是直接覆盖要使用的序列化器。这可以通过注册(via )方法来完成。将为您提

  • 我正在尝试使用kryo序列化和反序列化到二进制。我想我已经完成了序列化,但似乎无法反序列化。下面是我正在处理的代码,但最终我想存储一个字节[],然后再次读取它。文档只显示了如何使用文件。

  • 问题内容: 我尝试过在Java和Android之间实现跨平台序列化。我使用了Serializable,并将我的代码在Android中与台式机Java放在同一软件包中。 来源:java-desktop序列化 资料来源:Android-反序列化 学生是一类,实现了Serializable。在桌面上,我将学生实例序列化为“ thestudent.dat”。我将此文件放在Android设备上的SD卡上,并