我已将类对象存储为键,将int作为值存储在字典中。我想将字典转换为json字符串,但没有获得成功。我正在使用NewtonSoft进行json转换。这是我的代码,
SeatInfo seatInfo = new SeatInfo() { SeatNo = 1, Status = true, NickName = "Suresh", UserID = "sss" };
Dictionary<SeatInfo, int> dic = new Dictionary<SeatInfo, int>();
dic.Add(seatInfo, 40);
string json = JsonConvert.SerializeObject(dic, Formatting.Indented, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.None,
TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple
});
此代码的结果是,
{"SignalRServer.SeatInfo":40}
如何将类属性转换为字符串。提前致谢
答案 0 :(得分:0)
在Web Service中尝试以下代码并运行Webservice:
SqlConnection con = new SqlConnection("Here Copy your connection string");
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string GetData()
{
var json = "";
List<Dictionary<string, object>> lst = new List<Dictionary<string, object>>();
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tbldemo",con);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
foreach (DataRow row in dt.Rows)
{
Dictionary<string, object> lst1 = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns )
{
lst1.Add(dc.ColumnName,row[dc]);
}
lst.Add(lst1);
}
JavaScriptSerializer js = new JavaScriptSerializer();
json = js.Serialize(lst);
return json;
}
答案 1 :(得分:0)
我找到了答案。但我不确定这是否正确。我只是将字典对象转换为List。所以我得到的类属性是key,int是value。
string json = JsonConvert.SerializeObject(dic.ToList(), Formatting.Indented, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.None,
TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple
});
这里我只是将dic对象转换为 dic.ToList()。输出是,
{
"Key": {
"SeatNo": 1,
"UserID": "sss",
"NickName": "Suresh",
"Status": true
},
"Value": 40
}
请指导我如果我错了,谢谢