Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从web服务请求C将数组转换为字符串#_C#_Win Universal App_Windows 10 Universal - Fatal编程技术网

C# 从web服务请求C将数组转换为字符串#

C# 从web服务请求C将数组转换为字符串#,c#,win-universal-app,windows-10-universal,C#,Win Universal App,Windows 10 Universal,我有一个php web服务,我尝试使用它并将数据解析到designer中的文本框中(我使用的是windows 10 app store应用程序),以下是我的代码: public sealed partial class MainPage : Page { public string uriString = "my URL"; public MainPage() { this.InitializeComponent()

我有一个php web服务,我尝试使用它并将数据解析到designer中的文本框中(我使用的是windows 10 app store应用程序),以下是我的代码:

public sealed partial class MainPage : Page
    {
        public string uriString = "my URL";
        public MainPage()
        {
            this.InitializeComponent();
            Getdata();
        }

        private async void Getdata()
        {
            var http = new HttpClient();
            http.MaxResponseContentBufferSize = Int32.MaxValue;
            System.Collections.ArrayList response = new System.Collections.ArrayList(new string[] { await http.GetStringAsync(uriString) });
            var rootObject = JsonConvert.DeserializeObject<Sponsorises.RootObject>(response); //the error is here
            sponsorname.Text = rootObject.nom; //the name of my textBox
        }
        public class Sponsorises
     {

    internal class RootObject
    {
        public string nom { get; set; }
        public string tel { get; set; }
        public string photo { get; set; }
        public string sponsorise_adrs { get; set; }

    }
}
我在将arraylist响应转换为字符串rootObject时遇到问题,您知道吗
感谢您的帮助

您可以为
赞助商添加另一个课程

internal class RootObject
{
    public string success { get; set; }
    public string message { get; set; }
    public string total { get; set; }
    public List<Sponsorise> sponsorises { get; set; }
}

class Sponsorise
{
    public string nom { get; set; }

    public string tel { get; set; }

    public string photo { get; set; }

    public string sponsorise_adrs { get; set; }
}
内部类RootObject
{
公共字符串成功{get;set;}
公共字符串消息{get;set;}
公共字符串总计{get;set;}
公共列表赞助商{get;set;}
}
班级赞助
{
公共字符串nom{get;set;}
公共字符串tel{get;set;}
公共字符串photo{get;set;}
公共字符串赞助商_adrs{get;set;}
}
并反序列化如下:

var rootObject = JsonConvert.DeserializeObject<RootObject>(response); 
sponsorname.Text = rootObject.sponsorises[0].nom; 
var rootObject=JsonConvert.DeserializeObject(响应);
赞助商名称.Text=rootObject.sponsorises[0].nom;

您可以为
赞助商添加另一个类

internal class RootObject
{
    public string success { get; set; }
    public string message { get; set; }
    public string total { get; set; }
    public List<Sponsorise> sponsorises { get; set; }
}

class Sponsorise
{
    public string nom { get; set; }

    public string tel { get; set; }

    public string photo { get; set; }

    public string sponsorise_adrs { get; set; }
}
内部类RootObject
{
公共字符串成功{get;set;}
公共字符串消息{get;set;}
公共字符串总计{get;set;}
公共列表赞助商{get;set;}
}
班级赞助
{
公共字符串nom{get;set;}
公共字符串tel{get;set;}
公共字符串photo{get;set;}
公共字符串赞助商_adrs{get;set;}
}
并反序列化如下:

var rootObject = JsonConvert.DeserializeObject<RootObject>(response); 
sponsorname.Text = rootObject.sponsorises[0].nom; 
var rootObject=JsonConvert.DeserializeObject(响应);
赞助商名称.Text=rootObject.sponsorises[0].nom;

问题在于JsonConvert.Deserialize()需要的是字符串,而不是数组列表

这可以通过不将web响应强制转换到ArrayList来实现

var response = await http.GetStringAsync(uriString);
var rootObject = JsonConvert.DeserializeObject<RootObject>(response);
var response=wait http.GetStringAsync(uriString);
var rootObject=JsonConvert.DeserializeObject(响应);

问题在于JsonConvert.Deserialize()需要的是字符串,而不是数组列表

这可以通过不将web响应强制转换到ArrayList来实现

var response = await http.GetStringAsync(uriString);
var rootObject = JsonConvert.DeserializeObject<RootObject>(response);
var response=wait http.GetStringAsync(uriString);
var rootObject=JsonConvert.DeserializeObject(响应);

将其添加到每个RootObject属性的开头:

[JsonProperty("fieldName")]

将其添加到每个RootObject属性的开头:

[JsonProperty("fieldName")]

“问题”是什么?任何异常?我有一个错误:“无法将'System.Collections.arrayList'转换为影响对RootObjects的响应的行中的字符串。这个错误对我来说似乎很清楚。你尝试过解决它吗?我尝试过这样做:List rootObject=JsonConvert.DeserializeObject(响应);什么是‘问题’?任何异常?我有一个错误:”无法将“System.Collections.arrayList”转换为影响对RootObjects的响应的字符串。我很清楚这个错误。您试图解决什么问题?我尝试了这一行:List rootObject=JsonConvert.DeserializeObject(response);谢谢你的代码,但如果我应用它,我会得到一个其他错误,那就是:RootObject不包含nom的定义:(谢谢你的代码,但是如果我应用它,我会得到一个其他错误,那就是:RootObject不包含nom的定义:(谢谢先生的回复,我认为赞助商是一个数组:/谢谢先生的回复,我认为赞助商是一个数组:/