我正在创建一个灵活的框架,用于为第三方开发者创建和存储设置。
我们做出的一个更好的选择是创建一个系统,开发人员可以在该系统中使用 JSON 创建他们自己的设置,然后简单地序列化对象。
即.
public class YammerConfig
{
public string yammerClientId { get; set; }
public string yammerNetwork { get; set; }
public YammerConfig(string js)
{
var ser = new JavaScriptSerializer();
var sam = ser.Deserialize<YammerConfig>(js);
yammerClientId = sam.yammerClientId;
yammerNetwork = sam.yammerNetwork;
}
}
这是一种将设置存储在数据库中的有效方法,而无需为独特的信息集重新配置新表。
我很乐意更进一步,就像 JavaScript 本身所做的那样,动态创建不需要手动序列化的对象。
是否可以在 .NET C# 中创建与 json.parse
等效的内容?
最佳答案
为什么不使用扩展方法
例如。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
namespace Stackoverflow.Helpers
{
public static class JsonHelper
{
private static JavaScriptSerializer ser = new JavaScriptSerializer();
public static T ToJSON<T>(this string js) where T : class
{
return ser.Deserialize<T>(js);
}
public static string JsonToString(this object obj)
{
return ser.Serialize(obj);
}
}
}
易于使用
//Deserialize
string s = "{yammerClientId = \"1\",yammerNetwork = \"2\"}";
YammerConfig data = s.ToJSON<YammerConfig>();
//Serialize
string de = data.JsonToString();
关于c# - 使用 JavaScriptSerializer(等效于 JSON.PARSE)创建自构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234855/