質問
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);
ResponseFromServer値は、WebServiceを取得し、「フラグ」、「ServicePerismiss」などのJSON文字列値を取得する方法を取得する方法です。
fix:すみません、C#を使用してこれを行います。
解決
注:JavaScriptSerializerは、実際には私がこれまでにベンチマークした中で最も遅いJSONシリアイザーです。そんなに私はそれを削除しなければなりませんでした 私のベンチマーク 時間がかかりすぎていた(> 100倍遅い)。
とにかく、これは簡単に解決できます ServiceStack.TextのJSONシリアイザー:
var response = JsonSerializer.DeserializeFromString<Dictionary<string,string>>(responseFromServer);
var permissions = JsonSerializer.DeserializeFromString<Dictionary<string,string>>(response["result"]);
Console.WriteLine(response["flag"] + ":" + permissions["ServicePermission"]);
完全性のために、これは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);
他のヒント
if u are using jQuery u can do this
var json=jQuery.parseJSON(responseFromServer);
//acess
alert(json.ServicePermission);
if you are asing microsoft ajax do this
var json=Sys.Serialization.JavaScriptSerializer.deserialize(responseFromServer,true);
//acess
alert(json.ServicePermission);
PHPのようなC#では、JSONをその場でオブジェクトに変換する方法を見ていません。 C#でコンバージョンを行うには、まずこのクラスを作成する必要があります。
あなたの場合、あなたはこのようにすることができます
//クラスを定義します
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 responseFromServer =
// lines split for readability
"{\"flag\":true,\"message\":\"\",\"result\":{\"ServicePermission\":true,"
+ "\"UserGroupPermission\":true}}";
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var responseValue = serializer.Deserialize<Response>(responseFromServer);
//access
responseValue.result.ServicePermission
所属していません StackOverflow