我正在使用
将数据表转换为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"])
我总是变空。
获取键值对的正确语法是什么?
答案 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);
}