웹 서비스가 URL에서 데이터를 가져올 수 있도록하는 자습서를 작성했습니다. 그러나 자습서에서는 System.Json을 추가 할 것을 요구합니다. System.Json을 사용하여 추가했지만 오류가 발생합니다.Xamarin adding System.Json
는 // 여기에 내가 C#에서 수행 한 코드와 매우 잘 작동
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft;
using Newtonsoft.Json;
namespace Weather_App
{
class Program
{
static void Main(string[] args)
{
Uri uri = new Uri("http://api.wunderground.com/api/key/conditions/q/CA/Houston.json");
WebRequest webRequest = WebRequest.Create(uri);
WebResponse response = webRequest.GetResponse();
StreamReader stramreader = new StreamReader(response.GetResponseStream());
String responseData = stramreader.ReadToEnd();
var outObject = JsonConvert.DeserializeObject<Component.RootObject>(responseData);
Console.WriteLine(responseData);
Console.ReadLine();
}
}
}
// 여기에 내가 자 마린에서 같은 기능을 구현하고자하는 코드 만 사용하여 어려움을 겪고있다 system.json
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using Newtonsoft.Json;
using Xamarin.Forms;
using System.Xml;
using System.Json;
namespace Exercise21
{
public partial class MyPage : ContentPage
{
public MyPage()
{
InitializeComponent();
CallWebService();
}
private async void CallWebService()
{
Uri url = new Uri ("http://api.wunderground.com/api/key/conditions/q/CA/Houston.json");
var httpReq = (HttpWebRequest)HttpWebRequest.Create (url);
httpReq.BeginGetResponse ((ar) => {
var request = (HttpWebRequest)ar.AsyncState;
using (var response = (HttpWebResponse)request.EndGetResponse (ar)) {
var s = response.GetResponseStream();
var j = (JsonObject)JsonObject.Load (s);
var results = (from result in (JsonArray)j ["results"]
let jResult = result as JsonObject
select jResult ["text"].ToString()).ToArray();
RunOnUiThread (() => {
ListAdapter = new ArrayAdapter<string> (this,
Resource.Layout.TweetItemView, results);
});
}
}, httpReq);
}
}
}
관련 어셈블리를 참조하고 있습니까? 이 어셈블리는 Xamarin에서 일반적인 .Net과 약간 다릅니다. [이 링크] (http://developer.xamarin.com/guides/android/under_the_hood/assemblies/)가 도움이 될 수 있습니다. –
대신 Json.NET을 사용하도록 초대합니다. 너 게 (Nuget) – Pedro
에서 찾을 수있는 라이브러리입니다. 또한 자습서가 온라인 인 경우 질문에 대한 링크를 포함시키는 것이 도움이 될 수 있습니다. 실제로 Xamarin 튜토리얼입니까? –