【问题标题】:Delete "jacknode" in NSString - iOS删除 NSString 中的“jacknode” - iOS
【发布时间】:2015-09-14 13:18:25
【问题描述】:

我有一个下载和解析 JSON 文件的 iOS 应用程序。 JSON 文件返回我存储在 NSString 中的以下数据:

{
    jacknode = "The Lite - Mon, Sep, 14, 2015 - 12:00 GMT";
}

有没有办法使用正则表达式来删除大括号,最好是字符串的“jacknode =”部分?

我尝试创建一个 NSString,甚至使用[string description] 方法来查看括号是否会被删除,但它们没有。这告诉我大括号实际上是字符串的一部分。我不介意,但我怎样才能手动删除它们。

注意:如果您想知道为什么 JSON 文件会返回格式如此奇怪的数据……那么说来话长,我现在没有时间更改它。

感谢您抽出宝贵时间,丹。

【问题讨论】:

  • 如果你得到有效的 json 响应,那么只需通过键名获取值
  • 你是如何将值放入字符串中的?
  • @EICaptain 但是键名取值实际上返回了上面的数据。正如我在回答中所说,那些大括号是字符串的一部分!
  • @trojanfoe NSString *test = [NSString stringWithFormat:@"%@", data[0]];

标签: ios regex parsing text nsstring


【解决方案1】:

您需要使用[NSJSONSerialization JSONObjectWithData:options:error:] 解析JSON 内容。假设data 包含服务器响应,那么:

NSError *error = nil;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
                                                     options:0
                                                       error:&error];
if (dict) {
    NSString *string = dict[@"jacknode"];
} else {
    // Error
}

【讨论】:

  • 啊……我一直是个白痴……我刚试过这个,效果很好。嗯,我似乎需要阅读另一个 JSON 解析教程/指南。还是谢谢!
猜你喜欢
  • 2013-02-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
相关资源
最近更新 更多