ইউআরএল থেকে জসন স্ট্রিং কিভাবে পাবেন?


145

আমি আমার কোড ফর্মটি XML- এ JSON এ স্যুইচ করছি।

তবে প্রদত্ত url থেকে কীভাবে JSON স্ট্রিং পাবেন তা আমি খুঁজে পাচ্ছি না।

ইউআরএলটি হ'ল এইরকম: " https://api.facebook.com/method/fql.query?query=.....&format=json "

আমি আগে এক্সডোকামেন্টস ব্যবহার করেছি, সেখানে আমি লোড পদ্ধতিটি ব্যবহার করতে পারি:

XDocument doc = XDocument.load("URL");

জেএসএনের জন্য এই পদ্ধতির সমতুল্য কী? আমি JSON.NET ব্যবহার করছি।

উত্তর:


270

WebClientক্লাসটি এতে ব্যবহার করুন System.Net:

var json = new WebClient().DownloadString("url");

মনে রাখবেন যে রাখুন WebClientহয় IDisposable, তাই আপনি সম্ভবত যোগ হবে usingউৎপাদন কোডে এই বিবৃতি। এটি দেখতে এই রকম হবে:

using (WebClient wc = new WebClient())
{
   var json = wc.DownloadString("url");
}

8
আপনি কেন জোন এর উত্তরে ব্যবহার করা বিবৃতিটি বাদ দেন?
স্কুলি

1
যতক্ষণ না আমি করা এটা আমার জন্য কাজ করে নি var json = wc.DownloadString("url");মধ্যে try-catchব্লক!
অ্যালেক্স জোলিগ

আমি ত্রুটি পেয়েছি "HttpRequestException: অনুরোধ করা ঠিকানা বরাদ্দ করতে পারে না" .. এটি ইউআরএল: " লোকালহোস্ট: 5200 / টেস্টিপি / সোয়াগার / ভি 1 / সোয়াগার.জসন , তবে এটি ইউআরএল: petstore.swagger.io/v2/swagger.json-
8

102

আফাইক জেএসওএন. নেট কোনও ইউআরএল থেকে পড়ার জন্য কার্যকারিতা সরবরাহ করে না। সুতরাং আপনার দুটি পদক্ষেপে এটি করা দরকার:

using (var webClient = new System.Net.WebClient()) {
    var json = webClient.DownloadString(URL);
    // Now parse with JSON.Net
}

1
@ জেএসমিথ: এটি কোনও পরামর্শ ছিল না ... ওপি এটি উল্লেখ করেছে :)
জন

আমাকে সাহায্য করার জন্য Thx, এটি আশ্চর্যজনক যে আমি গুগলে এটি খুঁজে পাইনি, এই বাস্তবটি একটি প্রাথমিক প্রশ্ন তাই না? আমার এখন এর মতো একটি ত্রুটি হচ্ছে: JSON অবজেক্টটি 'সিস্টেম.স্ট্রিং' প্রকারে ডিসেরায়ালাইজ করা যায় না। আমি জানি যে এটি আমার শ্রেণীর এমন কিছু বৈশিষ্ট্য যা সঠিকভাবে ঘোষণা করা হয় নি, তবে আমি কেবল এর মধ্যে কোনটি খুঁজে পাচ্ছি না। তবে আমি এখনও চেষ্টা করছি! :)
থিডকে

45

আপনি .NET 4.5 ব্যবহার করে এবং ASYNC ব্যবহার করতে চান করছি, তাহলে আপনি ব্যবহার করতে পারেন HttpClientমধ্যে System.Net.Http:

using (var httpClient = new HttpClient())
{
    var json = await httpClient.GetStringAsync("url");

    // Now parse with JSON.Net
}

1
আপনাকে এটিকে এক Taskসাথে ব্যবহার করতে হবেasync
Si8
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.