0

結果をjsonに割り当てるにはしかし、Debug.WriteLine(GETUserList());を使用すると それは私に印刷されます。しかし、jsonを割り当ててjsonの値を取得しようとすると、nullが返されます

String json = GETUserList();

namespace PhoneApp3
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        const String url = "http://hackathon.kimhieu.info/flashcard/index.php/api/";
        const String ContentType = "application/x-www-form-urlencoded";
        public String username;
        public String password;



        public MainPage()
        {
            InitializeComponent();
            username = "a";
            password = "a";        
           String  json = GETUserList();        
           MessageBox.Show(json);
        }           

        GET user;   

            public String GETUserList()
            {
              user  = new GET();
              user.urlAdress = url + "user";
               user.username = username;
               user.password = password;               
               user.Completed += OutUser;
               user.sendGETRequest();
               return user.result;
            }       

        // OUT GET
            void OutUser()
            {
                Debug.WriteLine(user.result);
            }                  
        }

}

クラス GET は、サーバーからデータを取得する機能を提供します

public class GET
{
    public static event Action Completed;
    public static String result = String.Empty;
    public static String username;
    public static String password;
    public static string myRequestData = string.Empty;
    public static  String urlAdress;
    public static void sendGETRequest()
    {
        System.Uri targetUri = new System.Uri(urlAdress);
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
        request.Method = "GET";
        request.Headers["X_USERNAME"] = username;
        request.Headers["X_PASSWORD"] = password;
        request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request);       
    }

    private static void ReadWebRequestCallback(IAsyncResult callbackResult)
    {           
        HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);

        using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
        {
            result = httpwebStreamReader.ReadToEnd();                
        }
        myResponse.Close();
        if (Completed != null)
            Completed();
    }
}

処理中なので、一定時間呼び出してから文字列を返します。変数に代入する結果を取得する方法。よろしくお願いします

私が電話したら

Debug.WriteLine("Hellllllllllll" + json + "HHHHHHHHHHHHHH");

            JsonParsing jsonParsing = new JsonParsing(json);
            Debug.WriteLine("Hllllllllllll" + json + "HHHHHHHHHHHHHH");
            jsonParsing.GetListCardSet();

結果は

HllllllllllllHHHHHHHHHHHHHH
HllllllllllllHHHHHHHHHHHHHH
[{"id":"3","username":"a","password":"a"},{"id":"4","username":"bbbb\n","password":"aaa"},{"id":"5","username":"ab","password":"ab"},{"id":"6","username":"abc","password":"abc"},{"id":"7","username":"abc","password":"abc"},{"id":"8","username":"abcd","password":"abcd"},{"id":"9","username":"abcde","password":"abcde"},{"id":"10","username":"abcdef","password":"abcdef"},{"id":"11","username":"abcdef","password":"abcdef"},{"id":"12","username":"abcdef","password":"abcdef"},{"id":"13","username":"abcdef","password":"abcdef"},{"id":"14","username":"abcdef","password":"abcdef"},{"id":"15","username":"abcdef","password":"abcdef"},{"id":"16","username":"abcdef","password":"abcdef"},{"id":"17","username":"abcdef",
4

0 に答える 0