正在获取json数组,空指针引用异常

正在获取json数组,空指针引用异常,json,windows-phone-7,nullreferenceexception,Json,Windows Phone 7,Nullreferenceexception,我需要把这个拿出来,并在列表中显示出来。我正在做的是 {"names":["name1","name2","name3","name4"]} 这是我在读了博客文章后做的。我得到了NullReferenceException。 请告诉我哪里做错了,或者用其他方法做同样的事情。首先学习如何解析JSON数据。将其视为JSON字符串。 public partial class MainPage : PhoneApplicationPage { // Constructor public

我需要把这个拿出来,并在列表中显示出来。我正在做的是

{"names":["name1","name2","name3","name4"]}
这是我在读了博客文章后做的。我得到了
NullReferenceException

请告诉我哪里做错了,或者用其他方法做同样的事情。

首先学习如何解析JSON数据。将其视为JSON字符串。

public partial class MainPage : PhoneApplicationPage
{
    // Constructor
    public MainPage()
    {
        InitializeComponent();
        getdata();
    }

    private void getdata()
    {
        string uri = "URL";
        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(new Uri(uri));

        req.BeginGetResponse(new AsyncCallback(show), req);
    }

    private void show(IAsyncResult asynchronousResult)
    {
        HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

        HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);

        StreamReader stream1 = new StreamReader(response.GetResponseStream());


         string s1 = stream1.ReadToEnd();
         var ser = new DataContractJsonSerializer(typeof(brands));
         var stream = new MemoryStream(Encoding.Unicode.GetBytes(s1));


          var bb = (brands)ser.ReadObject(stream);


          foreach (var ev in bb.Names)
            {
                textBlock1.Text = ev.Name.ToString();
            }
        }
String jsonData=@“{”name“:[“name1”、“name2”、“name3”、“name4”]}”;
var brands=JsonConvert.DeserializeObject(jsonData);
foreach(品牌名称中的var项目)
{
控制台写入线(项目);
}
你的品牌课是这样的

String jsonData = @"{""names"":[""name1"",""name2"",""name3"",""name4""]}";

var brands = JsonConvert.DeserializeObject<Brands>(jsonData);
foreach (var item in brands.names)
        {
            Console.WriteLine(item);
        }
大众品牌
{
公共列表名称{get;set;}
}
上面的代码解释了如何解析json数据。现在,从web服务获取json数据,因为您的请求不是POST请求(它似乎是从您的代码中获取的),所以您可以使用一个简单的WebClaint

public class Brands
    {
        public List<string> names { get; set; }
    }
void getData()
{
WebClient WebClient=新的WebClient();
webClient.DownloadStringCompleted+=新的DownloadStringCompletedEventHandler(webClient\u DownloadStringCompleted);
下载StringAsync(新Uri(“url”));
}
void wc_DownloadStringCompleted(对象发送方,DownloadStringCompletedEventArgs e)
{
var brands=JsonConvert.DeserializeObject(如Result);
foreach(品牌名称中的var项目)
{
控制台写入线(项目);
}
}
查看此博客,了解任何其他疑问:

public class Brands
    {
        public List<string> names { get; set; }
    }
void getData()
{
  WebClient webClient = new WebClient();
  webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
  webClient.DownloadStringAsync(new Uri("url"));
}

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{

    var brands = JsonConvert.DeserializeObject<Brands>(e.Result);
    foreach (var item in brands.names)
    {
        Console.WriteLine(item);
    }
}