Xamarin/PHP,我想在 C# (Xamarin) 或我的 PHP 代码中将我的 Jarray 变成 JObject [英] Xamarin/PHP, I want to make my Jarray to a JObject, either in C# (Xamarin) or in my PHP-code

查看:15
本文介绍了Xamarin/PHP,我想在 C# (Xamarin) 或我的 PHP 代码中将我的 Jarray 变成 JObject的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想把我的 Jarray 变成一个 JObject,但我不知道我应该在哪里做.在 xamarin 或 PHP 中.

I want to make my Jarray into a JObject, but I am not sure where I should do it. In xamarin or in PHP.

所以我将开始给你我在 PHP 中完成的数组,它看起来像这样:

So I will start off giving you my array that I have done in PHP and it looks like this:

$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# 中的代码,

And this is my code in 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;

}

推荐答案

A JArray is a JToken which is a JObject... if JArray is a Json.net json array..

A JArray is a JToken which is a JObject... if JArray is a Json.net json array..

此外,您发送的是一个空数组,因为您没有向其中添加联系人...

Also, you're sending an empty array as you're not adding the contacts to it...

总之,如果不能直接使用这些类,先在PHP上创建一个一致的模型,然后在xamarin部分解析:

Anyway, if you can don't use directly these clases, first create a consistent model on PHP and then parse it on the xamarin part:

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 上:

And then on 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;

}

这篇关于Xamarin/PHP,我想在 C# (Xamarin) 或我的 PHP 代码中将我的 Jarray 变成 JObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆