Net*_*205 3 c# json serializer
var responseFromServer =
// lines split for readability
"{\"flag\":true,\"message\":\"\",\"result\":{\"ServicePermission\":true,"
+ "\"UserGroupPermission\":true}}";
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var responseValue = serializer.DeserializeObject(responseFromServer);
Run Code Online (Sandbox Code Playgroud)
responseFromServer值是获取webservice,然后如何获取JSON字符串值,如"flag","Servicepermission"?
词缀:对不起,用c#来做这件事.
注意:JavaScriptSerializer实际上是我测试过的最慢的JSON Serializer.所以我不得不将它从我的基准测试中删除,因为它花了太长时间(> 100倍慢).
无论如何,这很容易使用ServiceStack.Text的JSON Serializer解决:
var response = JsonSerializer.DeserializeFromString<Dictionary<string,string>>(responseFromServer);
var permissions = JsonSerializer.DeserializeFromString<Dictionary<string,string>>(response["result"]);
Console.WriteLine(response["flag"] + ":" + permissions["ServicePermission"]);
Run Code Online (Sandbox Code Playgroud)
为了完整性,这也适用于ServiceStack.Text.JsonSerializer:
public class Response
{
public bool flag { get; set; }
public string message { get; set; }
public Permisions result { get; set; }
}
public class Permisions
{
public bool ServicePermission { get; set; }
public bool UserGroupPermission { get; set; }
}
var response = JsonSerializer.DeserializeFromString<Response>(responseFromServer);
Console.WriteLine(response.flag + ":" + response.result.ServicePermission);
Run Code Online (Sandbox Code Playgroud)