我在文件中添加了Json添加到我的項目嵌入式資源。 我想讀取包含某個對象列表的這個文件並反序列化它。將json對象展開爲對象數組
我有以下JSON文件:
[
{
"Status": 21,
"CustomerId": "e3633ccb-bbea-465d-9ce6-6c37e9c40e2e"
},
{
"Status": 20,
"CustomerId": "d02e2970-7c28-41b0-89f3-5276a97e12c9"
}
]
及以下型號:
public class CustomerStatus
{
public int Status { get; set; }
public string CustomerId { get; set; }
}
,因爲我讀從資源JSON文件,它會自動在字節數組的形式和我轉換它串起來,它有\ r \ n和\ t在裏面。
在我的代碼我有以下行做實現這一目標,但它失敗:
var string customerdata = System.Text.Encoding.UTF8.GetString(myResources.CustomerStatus);
var data = JsonConvert.DeserializeObject<List<CustomerStatus>>(customerdata);
我收到此錯誤: 扔類型的異常「Newtonsoft.Json.JsonReaderException」消息「,而解析值意外的性格遇到: 。路徑'',第0行,位置0。
UPDATE:
以下行也導致了同樣的問題:
var string customerdata = System.Text.Encoding.UTF8.GetString(myResources.CustomerStatus);
.Replace("\r\n", " ")
.Replace("\t", " ");
我敢打賭你會在文件的開頭有一個字節順序標記,它會在字符串中結束。檢查'customerdata'的第一個字符的字符代碼是否爲0xFEFF。 –