নিউটনসফট (অথবা লিনকু থেকে জেএসএন হতে পারে?)


318

আমি জানি নিউটোনসফ্ট সম্পর্কে কয়েকটি পোস্ট রয়েছে তাই আশা করি এটি ঠিক পুনরাবৃত্তি নয় ... আমি কাজার এপিআই দ্বারা ফিরিয়ে দেওয়া জেএসওএন ডেটা কোনও ধরণের একটি দুর্দান্ত বস্তুতে রূপান্তর করার চেষ্টা করছি

WebClient client = new WebClient();
Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album");
StreamReader reader = new StreamReader(stream);

List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString());

foreach (string item in list)
{
    Console.WriteLine(item);
}

//Console.WriteLine(reader.ReadLine());
stream.Close();

যে জসনকনভার্ট লাইনটি আমি চেষ্টা করছিলাম সেটিই সর্বাধিক সাম্প্রতিকতম ... আমি এটি বেশিরভাগভাবে পাচ্ছি না এবং আপনাকে বলছি যে কিছু পাদদেশ তৈরির কাজটি দূর করার আশা করছি। আমি মূলত এটিকে অভিধান বা কিছুতে রূপান্তরিত করার চেষ্টা করছিলাম ... এবং প্রকৃতপক্ষে, আমাকে ডকুমেন্টেশনের দ্বারা বিচার করে সেখানে বেশ কয়েকটি মূল্যবোধ তোলা দরকার, হয়তো নিউটনসফটের লিনকিউ জেএসওনে আরও ভাল পছন্দ হতে পারে? থটস / লিংক?

এখানে JSON রিটার্ন ডেটার উদাহরণ রয়েছে:

{
  "page": 1,
  "total_pages": 8,
  "total_entries": 74,
  "q": "muse",
  "albums": [
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "http://image.kazaa.com/images/69/01672812 1569/Yaron_Herman_Trio/Muse/Yaron_Herman_Trio-Muse_1.jpg",
      "id": 93098,
      "artist_name": "Yaron Herman Trio"
    },
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "htt p://image.kazaa.com/images/54/888880301154/Candy_Lo/Muse/Candy_Lo-Muse_1.jpg",
      "i d": 102702,
      "artist_name": "\u76e7\u5de7\u97f3"
    },
    {
      "name": "Absolution",
      "permalink": " Absolution",
      "cover_image_url": "http://image.kazaa.com/images/65/093624873365/Mus e/Absolution/Muse-Absolution_1.jpg",
      "id": 48896,
      "artist_name": "Muse"
    },
    {
      "name": "Ab solution",
      "permalink": "Absolution-2",
      "cover_image_url": "http://image.kazaa.com/i mages/20/825646911820/Muse/Absolution/Muse-Absolution_1.jpg",
      "id": 118573,
      "artist _name": "Muse"
    },
    {
      "name": "Black Holes And Revelations",
      "permalink": "Black-Holes-An d-Revelations",
      "cover_image_url": "http://image.kazaa.com/images/66/093624428466/ Muse/Black_Holes_And_Revelations/Muse-Black_Holes_And_Revelations_1.jpg",
      "id": 48813,
      "artist_name": "Muse"
    },
    {
      "name": "Black Holes And Revelations",
      "permalink": "Bla ck-Holes-And-Revelations-2",
      "cover_image_url": "http://image.kazaa.com/images/86/ 825646911486/Muse/Black_Holes_And_Revelations/Muse-Black_Holes_And_Revelations_1 .jpg",
      "id": 118543,
      "artist_name": "Muse"
    },
    {
      "name": "Origin Of Symmetry",
      "permalink": "Origin-Of-Symmetry",
      "cover_image_url": "http://image.kazaa.com/images/29/825646 912629/Muse/Origin_Of_Symmetry/Muse-Origin_Of_Symmetry_1.jpg",
      "id": 120491,
      "artis t_name": "Muse"
    },
    {
      "name": "Showbiz",
      "permalink": "Showbiz",
      "cover_image_url": "http: //image.kazaa.com/images/68/825646182268/Muse/Showbiz/Muse-Showbiz_1.jpg",
      "id": 60444,
      "artist_name": "Muse"
    },
    {
      "name": "Showbiz",
      "permalink": "Showbiz-2",
      "cover_imag e_url": "http://image.kazaa.com/images/50/825646912650/Muse/Showbiz/Muse-Showbiz_ 1.jpg",
      "id": 118545,
      "artist_name": "Muse"
    },
    {
      "name": "The Resistance",
      "permalink": "T he-Resistance",
      "cover_image_url": "http://image.kazaa.com/images/36/825646864836/ Muse/The_Resistance/Muse-The_Resistance_1.jpg",
      "id": 121171,
      "artist_name": "Muse"
    }
  ],
  "per_page": 10
}

আমি আরও কিছু পড়তে পেরেছিলাম এবং নিউটনটনের লিনিকিউটি জেএসএনের কাছে ঠিক যা চেয়েছিলাম তা হ'ল ... ওয়েবক্লিয়েন্ট, স্ট্রিম, স্ট্রিমরিডার এবং নিউটনসফ্ট ব্যবহার করে ... আমি জেএসএন ডেটার জন্য কাজা হিট করতে পারি, একটি ইউআরএল বের করতে, ফাইলটি ডাউনলোড করতে এবং এটি করতে পারি কোডের সাতটি লাইনের মতো! আমি এটা ভালোবাসি.

WebClient client = new WebClient();
Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album");
StreamReader reader = new StreamReader(stream);

Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadLine());

// Instead of WriteLine, 2 or 3 lines of code here using WebClient to download the file
Console.WriteLine((string)jObject["albums"][0]["cover_image_url"]);
stream.Close();

এই পোস্টটি এতগুলি হিট পেয়েছে আমি ভেবেছিলাম মন্তব্যগুলিতে আলোচিত "ব্যবহার" বিটগুলি অন্তর্ভুক্ত করা সহায়ক হতে পারে।

using(var client = new WebClient())
using(var stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"))
using (var reader = new StreamReader(stream))
{
    var jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadLine());
    Console.WriteLine((string) jObject["albums"][0]["cover_image_url"]);
}

6
চটজলদি উদাহরণ, ধন্যবাদ। শুধু একটি প্রস্তাব: আপনি সংক্ষিপ্ততা জন্য এই শেষ করেছিলেন থাকতে পারে, কিন্তু যেহেতু WebClient, Streamএবং StreamReaderসব বাস্তবায়ন IDisposable, আপনি কিছু জুড়তে চাইতে পারেন usingআপনার কোডে ব্লক।
আরকেন

আহ হ্যাঁ, ভাল কল ... (হ্যাঁ এটি আসলে একটি কনসোল অ্যাপ্লিকেশন ছিল আমি যে কাজগুলি সামনে এসেছি তার জন্য গবেষণা করার জন্য সত্যই দ্রুত চালাচ্ছিলাম) এখন ধাঁধাটির শেষ টুকরোটি অনুসন্ধান করা বন্ধ, এইচএলএস + এএস এনক্রিপশন :) উগ ...হাঃ হাঃ হাঃ
জে

1
+1 লিঙ্ক উদাহরণ পোস্ট করার জন্য ধন্যবাদ। ঠিক আমার যা প্রয়োজন ছিল।
মার্ক উইলকিনস

নিউটসনফট সমাধানটি কীভাবে JSON কে পুরোপুরি ডিসরিয়ালাইজ করে না? ঠিক যেমন @ আরকেনের সমাধান করুন।
এক্সএমআইএম

লিঙ্কটি এখানে নোট করুন: লিনকু থেকে জেএসওন
ইউ ইয়ং জিয়ান

উত্তর:


259

আপনার যদি কেবল JSON অবজেক্ট থেকে কয়েকটি আইটেম নেওয়া দরকার, আমি JSON.NET এর লিনকিউটি জেএসএন JObjectক্লাসে ব্যবহার করব । উদাহরণ স্বরূপ:

JToken token = JObject.Parse(stringFullOfJson);

int page = (int)token.SelectToken("page");
int totalPages = (int)token.SelectToken("total_pages");

আমি এই পদ্ধতির পছন্দ করি কারণ আপনার JSON অবজেক্টটি পুরোপুরি ডিসরিয়ালাইজ করার দরকার নেই। এটি এমন এপিআইগুলির সাহায্যে আসে যা কখনও কখনও টুইটারের মতো আপনাকে হারিয়ে যাওয়া অবজেক্ট বৈশিষ্ট্যের সাথে অবাক করে দেয়।

ডকুমেন্টেশন: জসন.এনইটি এবং জেসন.এনইটের সাথে লিনকিউ জেএসএন-এর সাথে জেএসওনকে সিরিয়ালাইজ এবং ডিজিরিয়াল করছে


1
হ্যাঁ আমি আসলে আরও কিছুটা পড়া এবং পরীক্ষা করেছি ... এটিও এটি করার একটি দুর্দান্ত উপায় বলে মনে হয়েছে ... নিউটনসফট, সুন্দর সুন্দর লাইব্রেরি, আমি অন্যের জন্য আমার উদাহরণ পোস্ট করব
জে বেঞ্জামিন

1
আমি কীভাবে এটি করছিলাম তার একটি মোটামুটি উদাহরণ পোস্ট করেছিলাম ... একেবারে এক নয়, আমি আপনাকে জে টোকেনকে পরামর্শ দিয়েছি ars পার্স ... দুজনের মধ্যে পার্থক্য সম্পর্কে নিশ্চিত নই তবে হ্যাঁ, ভাল জিনিস!
জে বেনিয়ামিন

1
@ জেনজামিন ধন্যবাদ! এটি একটি টাইপ ছিল। জটোকেন হ'ল জবজেক্টের বেস ক্লাস এবং আরও বিমূর্ত প্রকারের সাথে কাজ করা আমার ব্যক্তিগত পছন্দ। আমার নজরে এটি কল করার জন্য ধন্যবাদ।
arcain

দুঃখিত, তবে এটি জে টোকেন, বা জবজেক্ট হওয়া উচিত? উপরের কোডটি তবুও "JsonReader থেকে JObject পড়তে ত্রুটি" ত্রুটিটি এখনই পরে এবং পরে ছুঁড়ে ফেলা হচ্ছে।
TYRONEMICHAEL

1
@ টাইরোন শিওর, কোনও সমস্যা নেই আমি টুইটারের স্থিতি পার্সিংয়ের জন্যও এই কোডটি ব্যবহার করি এবং টুইটারে কলগুলি ব্যবহার করার জন্য আমাকে বেশ কিছুটা ত্রুটি লিখতে হয়েছিল যেহেতু সেগুলি মাঝে মাঝে দাগযুক্ত হতে পারে। আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আমি কাঁচা JSON প্রতিক্রিয়াটি পার্স করার চেষ্টা করার আগে টুইটার থেকে একটি লগ এ ফেলে দেওয়ার পরামর্শ দেব। তারপরে যদি এটি ব্যর্থ হয় তবে আপনি তারের উপর দিয়ে মজাদার কিছু পেয়েছেন কিনা তা আপনি কমপক্ষে দেখতে পারেন।
আরকাইন

272

dynamicজিনিসগুলি সহজ করতে আপনি সি # টাইপ ব্যবহার করতে পারেন । এই কৌশলটি পুনরায় ফ্যাক্টরিংকে আরও সহজ করে তোলে কারণ এটি যাদু-স্ট্রিংয়ের উপর নির্ভর করে না।

তাদেরকে JSON

নীচের JSON স্ট্রিংটি একটি HTTP এপিআই কল থেকে একটি সাধারণ প্রতিক্রিয়া, এবং এটি দুটি বৈশিষ্ট্য সংজ্ঞায়িত করে: Idএবং Name

{"Id": 1, "Name": "biofractal"}

সি শার্প

JsonConvert.DeserializeObject<dynamic>()এই স্ট্রিংটিকে একটি ডায়নামিক টাইপে ডিজিজায়াল করার জন্য ব্যবহার করুন তারপরে সাধারণ উপায়ে কেবল তার বৈশিষ্ট্যগুলিতে অ্যাক্সেস করুন।

dynamic results = JsonConvert.DeserializeObject<dynamic>(json);
var id = results.Id;
var name= results.Name;

আপনি যদি resultsভেরিয়েবলের ধরণটি কীওয়ার্ডটি dynamicব্যবহার না করে হিসাবে নির্দিষ্ট করে থাকেন varতবে সম্পত্তি মানগুলি সঠিকভাবে deserialize করবে, যেমন Idএকটি intএবং JValueএকটিতে (নীচের মন্তব্যের জন্য GFoley83 কে ধন্যবাদ)।

দ্রষ্টব্য : নিউটনসফট সমাবেশের নিউগেট লিঙ্কটি হ'ল http://nuget.org/packages/newtonsoft.json

প্যাকেজ : আপনি প্যাকেজটি নুগেট লাইভ ইনস্টলার সহ যুক্ত করতে পারেন , আপনার প্রকল্পটি খোলার সাথে কেবল ব্রাউজ প্যাকেজটি করবেন এবং তারপরে এটি ইনস্টল করুন, আনইনস্টল করুন, আপডেট করুন , এটি কেবল নির্ভরতা / নিউগেটের অধীনে আপনার প্রকল্পে যুক্ত করা হবে


আমি উপরের মত একই টুকরা কোডটি ব্যবহার করছিলাম টুইটারের প্রতিক্রিয়াটিকে নিউটোনসফট.ডিল 4.5.৪. version সংস্করণ দিয়ে ডিজাইরিয়াল করার জন্য এবং এটি দুর্দান্ত কাজ করছিল .. তবে এটি সংস্করণ ৫.০. to এ আপডেট করার পরে .. এটি ত্রুটি ছুঁড়তে শুরু করেছে ... কোনও ধারণা কেন ??
প্রণব

1
ডায়নামিক অবজেক্টের জন্য ভাল, যখন আমরা জানি বা আমাদের কাছে # # ক্লাস থাকে তাই আমরা গতিশীল উদাহরণস্বরূপ <মাইক্লাস> এর পরিবর্তে সি # শ্রেণি হিসাবে গ্রহন করতে পারি।
এমএসটিদেব

2
dynamic results = JsonConvert.DeserializeObject<ExpandoObject>(json);এখানে এফটিডাব্লু ব্যবহার করুন। এটি সঠিকভাবে Idকোনও ইনটকে নয়, একটিতে ডিসিজায়ালাইজ করবে JValue। এখানে দেখুন: dotnetfiddle.net/b0WxGJ
GFoley83

@biofractal আমি কীভাবে dynamic results = JsonConvert.DeserializeObject<dynamic>(json); VB.NET এ এটি করব? Dim results As Object = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(json)কাজ করে না.
ফ্লোর

@ ফ্লাই ট্রাই করুন ... ডিসরিয়ালাইজ অবজেক্ট ( সিস্টেম.ডায়নামিক অফ এক্সপান্ডোঅবজেক্ট)
টুলমেকারস্টেভ

41

মূলশব্দটির সাহায্যে dynamic, এই ধরণের যে কোনও বিষয়কে পার্স করা সত্যিই সহজ হয়ে যায়:

dynamic x = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString);
var page = x.page;
var total_pages = x.total_pages
var albums = x.albums;
foreach(var album in albums)
{
    var albumName = album.name;

    // Access album data;
}

আমি কীভাবে ফলাফলগুলি লুপ করব তা জানতে চেয়েছিলাম এবং এটি খুঁজে পেতে খুব দীর্ঘ সময় নিয়েছে ... ধন্যবাদ !!
ব্যাটআওফেল

22

আমার ভুল হয়ে থাকলে আমাকে সংশোধন করুন, তবে পূর্ববর্তী উদাহরণটি, আমার বিশ্বাস, জেমস নিউটনের জসন.এনইটি লাইব্রেরির সর্বশেষ সংস্করণটির সাথে সামান্য সামঞ্জস্যের বাইরে।

var o = JObject.Parse(stringFullOfJson);
var page = (int)o["page"];
var totalPages = (int)o["total_pages"];

1
আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ রিক, হ্যাঁ যা আমি খুব সাম্প্রতিক ডকুমেন্টেশনেও পেয়েছি উদাহরণগুলির সাথে একই রকম দেখাচ্ছে looks
জে বেনিয়ামিন

1
হ্যাঁ, আর্কেইন টাইপো ঠিক করে দেওয়ার পরে, আমার মন্তব্যটি এখন কেবল নিত্তিককে দেখায়: '(। আমি মূলত পোস্ট করেছি কারণ আমি জটোকেনকে পার্সে না চিনতে পেরেছি
রিক লেইচ

1
মোটেও পিটুনি নয় - অবশ্যই একটি ভুল ছিল , এবং এটি করার জন্য সবসময় একাধিক উপায় রয়েছে। যাইহোক, জসন.এনইটি-র আমার সংস্করণটি সূচকটি ব্যবহার করে সিনট্যাক্সটিকে সমর্থন করে JObjectতবে আমার উত্তরটির জন্য আমি যে কোডটি পরিবর্তন করেছি তা SelectTokenপদ্ধতিটির একটি ওভারলোডের কোড তৈরির ফলে টানা হয়েছিল যাতে টোকেনটি না থাকলে আমি ব্যতিক্রমগুলি দমন করতে পারি if পাওয়া গেছে JToken JToken.SelectToken(string tokenName, bool errorWhenNoMatch):, তাই সেখান থেকেই শব্দগুচ্ছটি এসেছে।
arcain

18

যদি, আমার মতো, আপনি দৃ strongly়ভাবে টাইপ করা বিষয়গুলির সাথে কাজ করতে পছন্দ করেন ** সাথে যান:

MyObj obj =  JsonConvert.DeserializeObject<MyObj>(jsonString);

এইভাবে আপনি ইন্টেলিজেন্স ব্যবহার করতে এবং টাইম টাইপ ত্রুটি পরীক্ষা করে সংকলন করতে পারেন।

আপনি আপনার JSON কে মেমরিতে অনুলিপি করে এবং JSON অবজেক্ট হিসাবে এটি আটকে দিয়ে প্রয়োজনীয় সামগ্রী তৈরি করতে পারেন (ভিজ্যুয়াল স্টুডিও -> সম্পাদনা -> বিশেষ আটকান -> ক্লাস হিসাবে জেএসএন কে আটকান)।

এখানে দেখুনআপনার যদি ভিজ্যুয়াল স্টুডিওতে সেই বিকল্প না থাকে তা ।

আপনার জেএসএন বৈধ কিনা তাও আপনাকে নিশ্চিত করতে হবে। শুরুতে আপনার নিজের অবজেক্টটি যুক্ত করুন যদি এটি কেবলমাত্র বস্তুর অ্যারে হয়। যেমন { "আপত্তি": [{}, {}, {}]}

** আমি জানি যে গতিশীল জিনিসগুলি কখনও কখনও সহজ করে তোলে তবে আমি এটির সাথে কিছুটা ওলস্কুল।


1
আমার পছন্দসই প্রোগ্রামিং এ যোগাযোগ। আমি দৃ strong় টাইপ করা জিনিস পছন্দ করি। ধন্যবাদ, আমি এই কোডটি ব্যবহার ও সংশোধন করার জন্য।
j.hul

11

গতিশীল তালিকা আলগাভাবে টাইপ করা - মানগুলি deserialize এবং পড়ুন

// First serializing
dynamic collection = new { stud = stud_datatable }; // The stud_datable is the list or data table
string jsonString = JsonConvert.SerializeObject(collection);


// Second Deserializing
dynamic StudList = JsonConvert.DeserializeObject(jsonString);

var stud = StudList.stud;
foreach (var detail in stud)
{
    var Address = detail["stud_address"]; // Access Address data;
}

8

আমি এই পদ্ধতিটি পছন্দ করি:

using Newtonsoft.Json.Linq;
// jsonString is your JSON-formatted string
JObject jsonObj = JObject.Parse(jsonString);
Dictionary<string, object> dictObj = jsonObj.ToObject<Dictionary<string, object>>();

dictObjঅভিধান হিসাবে আপনি যা চান তা এখনই অ্যাক্সেস করতে পারেন । আপনি ব্যবহার করতে পারেনDictionary<string, string> যদি স্ট্রিং হিসাবে মান পেতে পছন্দ করেন তবে আপনি পারেন।

যে কোনও জাতীয় .NET অবজেক্ট হিসাবে কাস্ট করতে আপনি এই একই পদ্ধতিটি ব্যবহার করতে পারেন।


2
আমি এই পদ্ধতিটি দুটি কারণে খুব সুন্দর দেখতে পেয়েছি: 1) আপনি যখন ডেটা টাইপ (সমস্ত কিছু স্ট্রিং) এর বিষয়ে চিন্তা করেন না এবং 2) মূল্যবোধের
অভিধানের

7

এছাড়াও, আপনি যদি কেবল জেএসওএন সামগ্রীতে নেস্টেড কোনও নির্দিষ্ট মান খুঁজছেন তবে আপনি এরকম কিছু করতে পারেন:

yourJObject.GetValue("jsonObjectName").Value<string>("jsonPropertyName");

এবং সেখান থেকে।

আপনি যদি JSON কে সি # অবজেক্টে রূপান্তর করতে ব্যয় করতে না চান তবে এই সাহায্য করতে পারে।


2

আমি জসনের জন্য একটি এক্সশনক্লাস তৈরি করেছি:

 public static class JsonExtentions
    {
        public static string SerializeToJson(this object SourceObject) { return Newtonsoft.Json.JsonConvert.SerializeObject(SourceObject); }


        public static T JsonToObject<T>(this string JsonString) { return (T)Newtonsoft.Json.JsonConvert.DeserializeObject<T>(JsonString); }
}

নকশা প্যাটার্ন:

 public class Myobject
    {
        public Myobject(){}
        public string prop1 { get; set; }

        public static Myobject  GetObject(string JsonString){return  JsonExtentions.JsonToObject<Myobject>(JsonString);}
        public  string ToJson(string JsonString){return JsonExtentions.SerializeToJson(this);}
    }

ব্যবহার:

   Myobject dd= Myobject.GetObject(jsonstring);

                 Console.WriteLine(dd.prop1);


1

এই পার্টির পক্ষে বেশ দেরি হয়ে গেছে, তবে আমি আজ নিজের ইস্যুতে কাজ করে এসেছি। এখানে আমি কীভাবে সমস্যাটি সমাধান করেছি।

আমি বইগুলির একটি তালিকা পুনরুদ্ধার করতে একটি তৃতীয় পক্ষের এপিআইতে প্রবেশ করছিলাম was অবজেক্টটি প্রায় 20+ ক্ষেত্র সমন্বিত একটি বৃহত JSON অবজেক্ট ফিরিয়েছে, যার মধ্যে আমার কেবল তালিকার স্ট্রিং অবজেক্ট হিসাবে আইডি দরকার। আমি প্রয়োজনীয় সুনির্দিষ্ট ক্ষেত্রটি পুনরুদ্ধার করতে ডায়নামিক অবজেক্টে লিনক ব্যবহার করেছি এবং তারপরে এটি আমার তালিকার স্ট্রিং অবজেক্টে .ুকিয়েছি।

dynamic content = JsonConvert.DeserializeObject(requestContent);
var contentCodes = ((IEnumerable<dynamic>)content).Where(p => p._id != null).Select(p=>p._id).ToList();

List<string> codes = new List<string>();

foreach (var code in contentCodes)
{
    codes.Add(code?.ToString());
}

0

শেষ পর্যন্ত জেএসএন থেকে রাষ্ট্রের নাম পান

ধন্যবাদ!

Imports System
Imports System.Text
Imports System.IO
Imports System.Net
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports System.collections.generic

Public Module Module1
    Public Sub Main()

         Dim url As String = "http://maps.google.com/maps/api/geocode/json&address=attur+salem&sensor=false"
            Dim request As WebRequest = WebRequest.Create(url)
        dim response As WebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        dim reader As New StreamReader(response.GetResponseStream(), Encoding.UTF8)
          Dim dataString As String = reader.ReadToEnd()

        Dim getResponse As JObject = JObject.Parse(dataString)

        Dim dictObj As Dictionary(Of String, Object) = getResponse.ToObject(Of Dictionary(Of String, Object))()
        'Get State Name
        Console.WriteLine(CStr(dictObj("results")(0)("address_components")(2)("long_name")))
    End Sub
End Module
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.