【问题标题】:couldn't serialize an NSObject, in Json无法在 Json 中序列化 NSObject
【发布时间】:2010-04-21 10:31:54
【问题描述】:

我正在使用 JSON 框架编写一个 iPhone 应用程序。我无法序列化NSObject,我发现只能序列化NSStringNSArrayNSData,但我想从模板对象序列化一个通用对象。有没有这方面的类库?

我有一个用户类,有用户 ID、用户名和密码。我想序列化这个类并发送到服务器。在我想反序列化来自服务器的结果之后。结果可以是用户类或任何其他类。 在 c# 中我有这个:(在这种情况下我使用 JSONRpc)

private int userid;
        [JsonIgnore]
public int Userid
{
   get { return userid; }
   set { userid = value; }
}
private string username;
[JsonProperty("username")]
public string Username
{
    get { return username; }
    set { username = value; }
}
private string password;
[JsonProperty("password")]
public string Password
{
    get { return password; }
    set { password = value; }
}

响应的方法是: 公共 JsonRpcResponse 调用(字符串方法,参数对象 [] args)。 (T = 模板,在本例中为用户) 我可以在 Objective-C 中做到这一点吗?

你知道有什么解决办法吗?

【问题讨论】:

    标签: objective-c json serialization


    【解决方案1】:

    不,你不能。您需要先将对象变成直接的 NSDictionary 或 NSArray。编写一个名为 jsonRepresentation 的方法,然后编写一个 initFromJSONRepresentation。大多数情况下并不难。

    【讨论】:

      【解决方案2】:

      您可能想查看我的实现,以将 NSObjects 序列化为 JSON,反之亦然 - https://github.com/QBurst/KVCObjectSerializer

      【讨论】:

      • 这是一个非常有用的库。谢谢!
      猜你喜欢
      • 2013-02-04
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 2014-01-05
      相关资源
      最近更新 更多