none
請問在xamarin裡json 字串轉入list<>出現錯誤 RRS feed

  • 問題

  • 請問json 字串轉入list<>出現錯誤,我哪裡該改

    public class MemberList
        {
            public string Mg_id { get; set; }       
            public string Picture_Path { get; set; }
            public string Picture_Name { get; set; }
            public string Mg_Name { get; set; }
        }

    List<MemberList>MemberLists = new List<MemberList>();
               
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://192.168.1.166:17853/");
                    var response = client.GetAsync("api/values");
                    if (response.Result.IsSuccessStatusCode)
                    {
                        var json = await response.Result.Content.ReadAsStringAsync();                  
                        MemberLists = JsonConvert.DeserializeObject<List<MemberList>>(json);

    結果出現錯誤

    Newtonsoft.Json.JsonSerializationException
      Message=Error converting value "[
      {
        "Mg_id": "a01",
        "Picture_Path": "a01",
        "Picture_Name": "Images01.jpg",
        "Mg_Name": "John Lee"
      },
      {
        "Mg_id": "a02",
        "Picture_Path": "a02",
        "Picture_Name": "Images02.jpg",
        "Mg_Name": "David Wang"
      },
      {
        "Mg_id": "a03",
        "Picture_Path": "a03",
        "Picture_Name": "Images03.jpg",
        "Mg_Name": "Sue Wu"
      }
    ]" to type 'System.Collections.Generic.List`1[JoJoLove.Models.MemberList]'. Path '', line 1, position 463.

    2019年10月16日 上午 07:48

所有回覆

  • 試試用陣列

    var result = JsonConvert.DeserializeObject<MemberList[]> (json);


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年10月16日 上午 10:08
  • 執行以下的程式碼的函式有加上async嗎?

    var json = await response.Result.Content.ReadAsStringAsync();              

    2019年10月16日 下午 10:18
  • 你好,有加async
    2019年10月18日 上午 01:13
  • 我在html檢視中得到的json=

    "[\r\n {\r\n \"Mg_id\": \"a01\",\r\n \"Picture_Path\": \"a01\",\r\n \"Picture_Name\": \"Images01.jpg\",\r\n \"Mg_Name\": \"John Lee\"\r\n },\r\n {\r\n \"Mg_id\": \"a02\",\r\n \"Picture_Path\": \"a02\",\r\n \"Picture_Name\": \"Images02.jpg\",\r\n \"Mg_Name\": \"David Wang\"\r\n },\r\n {\r\n \"Mg_id\": \"a03\",\r\n \"Picture_Path\": \"a03\",\r\n \"Picture_Name\": \"Images03.jpg\",\r\n \"Mg_Name\": \"Sue Wu\"\r\n }\r\n]"

    這字串有問題嗎

    2019年10月18日 上午 02:22
  • 喔,遇到換行符號了,請試試以下解法。

    使用 string.Replace 方法 , 先將 \r\n  (斜線r斜線n) 置換成 string.Empty。接著還會剩下一堆斜線,第二次 string.Replace 將 \ (斜線) 置換成 string.Empty。

    使用置換後的字串去反序列化。


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年10月18日 下午 04:03