У меня есть файл PHP, который дает мне следующий JSON:
{"Name":"Waqas","Age":37,"Address":"Kanju"}
Когда я выполняю этот метод в Windows Phone, он дает мне тот же JSON:
{"Name":"Waqas","Age":37,"Address":"Kanju"}
в текстовом блоке имени tblock.Text
;
Это мой метод получения данных из файла PHP в формате JSON:
public async void sndandrec(string feedingaddress, HttpResponseMessage response, TextBlock tblock, HttpClient myhttpClient)
string responseText;
tblock.Text = "Waiting for response ...";
try
{
response = await myhttpClient.GetAsync(resourceUri);
response.EnsureSuccessStatusCode();
responseText = await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
// Need to convert int HResult to hex string
tblock.Text = "Error = " + ex.HResult.ToString("X") +
" Message: " + ex.Message;
responseText = "";
}
tblock.Text = response.StatusCode + " " + response.ReasonPhrase;
tblock.Text = responseText.ToString();
Это мой класс:
public class RootObject
{
public string Name { get; set; }
public int Age { get; set; }
public int Address { get; set; }
}
Я хотел бы показать Name
значение в TextboxName
, похоже Age
значение в TextboxAge
а также Address
значение в TextboxAddress
, Я не знаю, как это сделать.
Хорошо, главное редактирование, и я в основном удалил весь свой последний ответ из-за его неправильности.
Обратитесь к библиотеке JSON, проще всего найти JSON.NET в NuGet и сослаться на это. Затем вы можете позвонить на ваш сервер и проанализировать данные JSON.
WebRequest request = WebRequest.Create("http://addresstojson.com/json.json");
WebResponse response = await request.GetResponseAsync();
using(var stream = new StreamReader(response.GetResponseStream()))
{
json = JsonConvert.DeserializeObject<RootObject>(stream.ReadToEnd());
}
Тогда вы все еще можете установить текстовые блоки с данными, полученными с использованием класса RootObject, который вы определили в своем вопросе.
tbName.Text = "Name: " + json.Name;
tbAge.Text = "Age: " + json.Age;
tbAddress.Text = "Address: " + json.Address;
Вот JSON, который я использовал для этого примера:
{
"name": "John Doe",
"age": 25,
"Address": "Mars"}
Других решений пока нет …