奇怪的是,似乎没有任何公共方法来序列化数组,但是在序列化数组属性时显然可以做到这一点。我有一个带有数组属性的JSONModel继承的类。我想获取该属性的JSON文本表示形式,而不是整个对象。
我不介意修改源代码,但希望能从头开始查找。
另一个想法是将每个对象分别序列化为JSON并将其包装在[
,]
中。
最佳答案
说明:
JSONModel模型代表一个JSON对象-它将JSON键与模型类的属性匹配。这就是为什么您不能直接创建与顶部对象为数组的JSON feed匹配的JSONModel类的原因。例如:
[obj1,obj2,obj3等...]
没有匹配属性的键。
现在,您要问的是相同的情况,但是相反。您无法将NSArray导出为JSON,因为没有JSONModel可以处理它。如果您有一个具有一个属性的模型,即NSArray-那么这很容易。该属性将映射到1个JSON密钥,并且NSArray内容将作为其内容导出。
解:
如果您的NSArray包含JSONModel实例,则应使用以下方法:
NSArray* jsonObjects = [YourModelClass arrayOfDictionariesFromModels: modelObjects];
上面的行会注意将模型类正确导出到字典,然后您可以使用NSJSONSerialization将jsonObjects导出到JSON。
这是该方法的文档:
http://www.jsonmodel.com/docs/Classes/JSONModel.html#//api/name/arrayOfDictionariesFromModels:
关于objective-c - 如何使用JSONModel将NSArray序列化为JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18219766/