如何使用提供的格式

时间:2018-01-10 09:17:27

标签: c# json datatable

我正在使用

将数据表转换为Json字符串
return JsonConvert.SerializeObject(ds.Tables[0]);

我收到以下字符串。

{{
  "CheckUserResult": "{\"Table\":[{\"User_ID\":4,\"User_Name\":\"IKERocks\",\"User_Email\":\"bamane1989@gmail.com\",\"User_PhoneNumber\":\"8452046777\",\"User_DateOfBirth\":\"\\/Date(1485845400000+0530)\\/\",\"User_City\":\"Pune\",\"User_Admin\":null,\"User_Points\":10,\"User_Login_Provider\":\"Google\"}]}"
}}

现在我需要将值检索到我的对象中。

Userdetails.User_Email = Convert.ToString(userdata["User_Email"])

我总是变空。

获取键值对的正确语法是什么?

2 个答案:

答案 0 :(得分:0)

你必须建立一个班级

public class UserDetails
{  
    public int User_ID{  
        get;  
        set;  
    }  
    public string User_Name{  
        get;  
        set;  
    }  
    public string User_Email{  
        get;  
        set;  
    }  
   ....
}  

string jsonData = "{\'User_ID\':4,\'User_Name\':\'IKERocks\',\'User_Email\':\'bamane1989@gmail.com\'}";
var myDetails = JsonConvert.DeserializeObject<UserDetails>(jsonData);

然后你可以这样做

String Username = myDetails.User_Name;

Userdetails.User_Email = myDetails.User_Email

答案 1 :(得分:0)

此代码可能对您有所帮助:

public string DataTableToJSONWithJavaScriptSerializer(DataTable table) 
{  
    JavaScriptSerializer jsSerializer = new JavaScriptSerializer();  
    List < Dictionary < string, object >> parentRow = new List < Dictionary < string, object >> ();  
    Dictionary < string, object > childRow;  
    foreach(DataRow row in table.Rows) 
    {  
        childRow = new Dictionary < string, object > ();  
        foreach(DataColumn col in table.Columns) 
        {  
            childRow.Add(col.ColumnName, row[col]);  
        }  
        parentRow.Add(childRow);  
    }  
    return jsSerializer.Serialize(parentRow);  
}