除了使用Newtonsoft库之外,还有其他方法可以反序列化JSON字符串吗?我有一个像这样的字符串
string json = "{status : '1',message : '<tr><th>Date</th><th>Description</th><th>Reference</th> <th>Code</th><th>Dept Code</th><th>Debit</th><th>Credit</th></tr>'}";如果我想访问代码隐藏文件中的消息属性,我该怎么做呢?
发布于 2011-12-21 00:26:53
public class TestM { public string status { get;set;}公共字符串消息{ get;set;}}
JavaScriptSerializer ser = JavaScriptSerializer();TestM t=ser.Deserialize(“{状态:'1',消息:'DateDescriptionReference CodeDept CodeDebitCredit'}");
发布于 2011-12-21 00:23:14
你可以使用DataContractJsonSerializer。将其反序列化为您想要提取的类,例如
[DataContract]
public class Message
{
[DataMember]
public string message { get; set; }
}发布于 2011-12-21 00:27:29
请考虑以下内容:
您需要以下所需的名称空间:
using System.Web.Script.Serialization;考虑这个类:
[Serializable]
public class Foo
{
public int status { get; set; }
public string message { get; set; }
}要使用JavaScriptSerializer,需要使用SerializableAttribute
用法
JavaScriptSerializer serializer = new JavaScriptSerializer();
// Deserialize
Foo foo = serializer.Deserialize<Foo>(json);
//now you have access to...
var status = foo.status;
var message = foo.message;您也可以在Dictionary中使用JavaScriptSerializer进行反序列化。请看以下内容:
Dictionary<string, object> ds = serializer .Deserialize<Dictionary<string, object>>(json);
var status = ds["status"].ToString();
var message = ds["message"].ToString();https://stackoverflow.com/questions/8578498
复制相似问题