【问题标题】:Creating a string that uses key value pairs and extract the values from it by key创建一个使用键值对的字符串并通过键从中提取值
【发布时间】:2015-09-26 04:00:42
【问题描述】:

我需要将键值对存储在字符串中。我无法将它们存储在任何其他类型中,因为我将这些值传递给的函数需要一个名为 additionalData 的参数,它是字符串类型。

string data = "FirstName: Mike, LastName: Jones, UserId: 101"

然后我需要能够根据键检索每个值。

我可以做这样的事情,然后在检索时执行 string.join 来创建一个数组,但我不想这样做,因为我想使用键值:

string data = string.Format("{0}|{1}|{2} ", "Mike", "Jones", 101)

【问题讨论】:

    标签: c# json string


    【解决方案1】:
    User user = new User {
        FirstName = "Mike",
        LastName = "Jones",
        UserId = 101
    };
    string userJson = JsonConvert.SerializeObject(user);
    

    您可以使用https://www.nuget.org/packages/Newtonsoft.Json/创建用户对象并解析为json

    以后当你想反序列化它时,你可以使用下面的代码:

    User user = JsonConvert.DeserializeObject<User>(userJson);
    

    希望对你有帮助。

    【讨论】:

    • 出于某种原因,我以为我被困住了,但忘记了我可以简单地创建一个客户用户对象并使用 Json。我不喜欢这里的事情是我已经有一个名为 User 的业务实体,我不想传递它的所有属性,所以我不确定在我的 UI 层中我会如何称呼这个对象。
    • 您还可以使用 Json.NET 序列化匿名类型。见newtonsoft.com/json/help/html/CreateJsonAnonymousObject.htm
    • 这取决于您使用的 UI 层。如果您正在开发 Web 应用程序,一个用例是您想要进行 ajax 调用。另一个例子是您想公开一个 Web 服务供本地移动应用程序调用。
    【解决方案2】:

    传递一种众所周知的、可以轻松序列化和反序列化的常规格式,例如 XML 或 JSON。

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多