首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS JSON 序列化添加 resultCount 字段:在數組前插入字典統計條目數

     編輯:程式設計綜合問答

生成包含 resultCount 和 results 字段的 JSON,需構造頂層字典,先放入計數,再放入數據數組。

構建邏輯

NSMutableArray *list = [NSMutableArray array];
for (int i = 0; i < urls.count; i++) {
    NSMutableDictionary *item = [NSMutableDictionary dictionary];
    item[@"results"] = names[i];
    item[@"URL"] = urls[i];
    [list addObject:item];
}

// 關鍵:創建頂層字典,先放計數
NSDictionary *finalDict = @{
    @"resultCount": @(list.count),
    @"results": list
};

// 序列化
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:finalDict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

輸出示例

{
  "resultCount": 50,
  "results": [
    {"results": "name1", "URL": "url1"},
    {"results": "name2", "URL": "url2"}
  ]
}

注意點

  • @(list.count) 自動裝箱為 NSNumber,JSON 序列化為數字。
  • 鍵名 results 同時用於頂層字段和項目內字段,建議區分(如項目用 name)避免語義混淆。
  • NSJSONWritingPrettyPrinted 僅調試用,生產環境去掉節省體積。

字典包裹數組,輕鬆添加元數據字段。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved