如何使用JSONModel将NSArray序列化为JSON

dev*_*os1 2 objective-c nsarray jsonmodel

奇怪的是,似乎没有任何公共方法来序列化数组,但它显然可以在序列化数组属性时执行.我有一个带有数组属性的JSONModel继承类.我想获得该属性的JSON文本表示,而不是整个对象.

我不介意修改源代码,但是首先要了解哪些内容.

另一个想法是将每个对象单独序列化为JSON并将它们包装在中[,].

Mar*_*rov 6

说明:

JSONModel模型表示JSON对象 - 它将JSON键与模型类的属性相匹配.这就是为什么你不能直接创建一个JSONModel类,它匹配一个顶级对象是数组的JSON feed.例如:

[obj1,obj2,obj3等...]

没有与房产相匹配的钥匙.

现在你问的是相同的情况,但相反.您无法将NSArray导出为JSON,因为没有JSONModel可以处理它.如果你有一个具有一个属性的模型,这是一个NSArray - 那么它很容易.该属性将映射到1个JSON密钥,NSArray内容将作为其内容导出.

解:

如果您有包含JSONModel实例的NSArray,则应使用以下方法:

NSArray* jsonObjects = [YourModelClass arrayOfDictionariesFromModels: modelObjects];
Run Code Online (Sandbox Code Playgroud)

上面的行将注意将模型类正确导出到字典,然后您可以使用NSJSONSerialization将jsonObjects导出到JSON .

这是方法的文档:

http://www.jsonmodel.com/docs/Classes/JSONModel.html#//api/name/arrayOfDictionariesFromModels: