[英]extracting data from big JSON
我們有一個非常大的 JSON,接近 1500 個字段。 我們想要讀取大部分 JSON 字段(大多數時候我必須讀取整個 JSON 並獲取 80% 的數據)。 什么是最優化性能的方式? 我們應該使用 JObject.Parse 然后使用 JsonPath 或者我們應該使用 JsonConvert.DeserializeObject 然后使用 linq 查詢還是有其他更好的方法
既然你提到它是一個很大的 JSON,我建議你使用一個 stram 閱讀器,這樣你就不需要將整個 JSON 加載到內存中
using (var reader = new JsonTextReader(new StreamReader(stream)))
{
while(!(reader.TokenType.Equals(JsonToken.EndObject) && reader.Depth == 0))
{
if (reader.TokenType.Equals(JsonToken.PropertyName))
if (!DoSomething(reader))
break;
if (!reader.Read())
break;
}
}
例如,在你的DoingSomething
方法中,你可以從一個字段中讀取值
private bool DoSomething(JsonTextReader reader)
{
if(reader.Path.Equals("FieldName_You_Are_Looking_For"))
{
string jsonText = JsonTextReaderToJsonText(reader);
// Do something to read the value
}
// return true to continue reading, return false to stop reading
return true;
}
希望能幫到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.