我想将json转换为特定对象。
String : "{\r\n \"Status\": \"PLANNED\"\r\n}"
我尝试了Newtonsoft Json命名空间,但它返回的是空值。
var Json= Newtonsoft.Json.JsonConvert.DeserializeObject<Model Class>(String )
我想要Json格式的结果,以便可以将Json的值提取为“ PLANNED”,但是我得到的是空值。
PS :模型类包含两个属性,即名称(字符串类型),值(对象类型)
答案 0 :(得分:4)
var s = "{\r\n \"Status\": \"PLANNED\"\r\n}";
var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<StatusModel>(s);
您定义的模型不正确。 您的模型应如下所示:
public class StatusModel
{
public string Status { get; set; }
}
现在将值提取到该模型,您可以像以下那样访问该值:
var value = obj.Status; //"PLANNED"
答案 1 :(得分:0)
JSON定义
JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。人类易于阅读和书写。机器很容易解析和生成。它基于JavaScript编程语言的子集。
JSON Newtonsoft
Json.NET是流行的.NET高性能JSON框架。
[来源] https://www.newtonsoft.com/json
问题:
您正在尝试将json反序列化为对象,并且返回null。 在我们的上下文中,反序列化是将json转换为对象的过程。
var Result= Newtonsoft.Json.JsonConvert.DeserializeObject<Model Class>(String);
结果为 Null 的原因是,因为您知道 Json 与 Model < / strong>,这就是 Json 需要与 Model 相对应的原因,以便它可以存储 Json 的信息。
您的模型:
该模型可能包含一些不在json中的属性,反之亦然
public class StatusModel
{
public string Status { get; set; }
}
最好的问候。
答案 2 :(得分:0)
您可以这样做(使用Newtonsoft Framework)
User.find({bankaccname: {$exists: 1}}, function(err,user){
user.forEach(function(st){
let num = st.bankaccnum;
st.bankaccnum = new String(st.bankaccnum);
st.save(function(err,saved){
if(err){
console.log(err)
} else {console.log(typeof saved.bankaccnum)}
})
})
})