Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Json对象属性分配给模型_C#_Json_Json.net - Fatal编程技术网

C# 将Json对象属性分配给模型

C# 将Json对象属性分配给模型,c#,json,json.net,C#,Json,Json.net,我正在使用dynamics和JObject.Parse将嵌套JSON对象中的大约90个属性与模型类进行匹配: dynamic json = JObject.Parse(JsonObjectAsString); return new Foo() { prop1 = json.summer.temperature, prop2 = json.winter.temperature, ... prop100 = json.autumn.temperature } 这非常

我正在使用dynamics和JObject.Parse将嵌套JSON对象中的大约90个属性与模型类进行匹配:

dynamic json = JObject.Parse(JsonObjectAsString);
return new Foo() {
    prop1 = json.summer.temperature,
    prop2 = json.winter.temperature,
    ...
    prop100 = json.autumn.temperature
}
这非常缓慢,但仅在第一次运行时。在第二次运行时,将获取一个新的JSON对象(相同的结构但不同的值),并立即将此对象分配给相应的模型属性

为什么?如何加快第一次跑步速度?


编辑:我已经将构建类型设置为“Release”。

您可以使用
newtonsoft
nuget包将JSON对象直接解析到模型

var objData = JsonConvert.DeserializeObject<MyData>(yourjsondata);

您可以使用
newtonsoft
nuget包将JSON对象直接解析到模型
var objData=JsonConvert.DeserializeObject(yourjsondata)JSON对象的结构与我的模型不同。它更大,我只需要它的一些(90)属性。还是我误解了你的意思?你可以从Ruchir的json数据中获取模型类,谢谢你的建议,但我希望避免为外部json对象添加额外的模型(将来可能会更改,添加一些新属性等)。问题是它只在第一次运行时运行缓慢。。彼得:你也可以使用动态对象
Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString)进行转换或不指定模型calss
Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString)
var objData = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(jsonString); 
var objData = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString);