Xamarin / PHP, я хочу превратить мой Jarray в JObject, либо в C # (Xamarin), либо в мой PHP-код

Я хочу превратить своего Джаррея в объект JO, но я не уверен, где мне следует это сделать. В xamarin или в PHP.

Итак, я начну с того, что дам вам свой массив, который я сделал в PHP, и он выглядит так:

$contacts = array();

while ($row = mysqli_fetch_array($stmt))
{
$contact = array(
"ID" => $row['ProduktID'],
"Name" => $row['ProduktNamn'],
);
}

echo json_encode($contacts, JSON_PRETTY_PRINT);

И это мой код в Xamarin C #,

static public async Task<JArray> getOurMainInfo() //Make it J0bject immediately? Or somehow transform it inside this function?
{
var httpClientRequest = new HttpClient ();

var result = await httpClientRequest.GetAsync ("http://localhost/getMyPhp.php");

var resultString = await result.Content.ReadAsStringAsync ();
var jsonResult = JArray.Parse (resultString).ToObject();

return jsonResult;

}

0

Решение

JArray — это JToken, который является объектом JObject … если JArray является массивом Json.net Json.net

Кроме того, вы отправляете пустой массив, поскольку вы не добавляете в него контакты …

В любом случае, если вы не можете напрямую использовать эти предложения, сначала создайте непротиворечивую модель на PHP, а затем проанализируйте ее в части xamarin:

PHP:

    $contacts = array();

while ($row = mysqli_fetch_array($stmt))
{

$contact = new stdClass;
$contact->ID = $row['ProduktID'];
$contact->Name = $row['ProduktNamn'];
$contacts[] = $contact;

}

echo json_encode($contacts, JSON_PRETTY_PRINT);

И тогда на Xamarin:

    public class Contact
{
public string ID{ get; set; } //change to the correct type
public string Name{ get; set; }
}

//...

static public async Task<List<Contact>> getOurMainInfo() //Make it J0bject immediately? Or somehow transform it inside this function?
{
var httpClientRequest = new HttpClient ();

var result = await httpClientRequest.GetAsync ("http://localhost/getMyPhp.php");

var resultString = await result.Content.ReadAsStringAsync ();
var jsonResult = JsonConvert.DeserializeObject<List<Contact>>(resultString);

return jsonResult;

}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]