আমি গুগল এজেএক্স অনুসন্ধান API থেকে কিছু জেএসএন ডেটা পার্স করার চেষ্টা করছি। আমার এই ইউআরএল রয়েছে এবং আমি এটি ভেঙে ফেলতে চাই যাতে ফলাফল প্রদর্শিত হয়। আমি বর্তমানে এই কোডটি লিখেছি, তবে পরবর্তী কী করা উচিত সে সম্পর্কে আমি বেশ হারিয়ে গেছি, যদিও সরলিকৃত JSON স্ট্রিং সহ বেশ কয়েকটি উদাহরণ রয়েছে।
সি # এবং .NET এ সাধারণভাবে নতুন হওয়াতে আমি আমার এএসপি.নেট পৃষ্ঠার জন্য একটি খাঁটি পাঠ্য আউটপুট পাওয়ার জন্য সংগ্রাম করেছি তাই জেএসএন.এনইটকে একবার চেষ্টা করার পরামর্শ দেওয়া হয়েছে। গুগল এজেএক্স অনুসন্ধান এপিআই থেকে জেএসওএন নেবে এবং এটি স্ক্রিনে মুদ্রণ করবে এমন কোনও কোড কেবল লিখে দেওয়ার জন্য যে কেউ আমাকে সঠিক দিকে নির্দেশ করতে পারে?
সম্পাদনা: সমস্ত স্থির! সমস্ত ফলাফল ঠিক কাজ করছে। আপনাকে আবার ধন্যবাদ ড্রেইস গ্রেচ!
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ServiceModel.Web;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GoogleSearchResults g1 = new GoogleSearchResults();
const string json = @"{""responseData"": {""results"":[{""GsearchResultClass"":""GwebSearch"",""unescapedUrl"":""http://www.cheese.com/"",""url"":""http://www.cheese.com/"",""visibleUrl"":""www.cheese.com"",""cacheUrl"":""http://www.google.com/search?q\u003dcache:bkg1gwNt8u4J:www.cheese.com"",""title"":""\u003cb\u003eCHEESE\u003c/b\u003e.COM - All about \u003cb\u003echeese\u003c/b\u003e!."",""titleNoFormatting"":""CHEESE.COM - All about cheese!."",""content"":""\u003cb\u003eCheese\u003c/b\u003e - everything you want to know about it. Search \u003cb\u003echeese\u003c/b\u003e by name, by types of milk, by textures and by countries.""},{""GsearchResultClass"":""GwebSearch"",""unescapedUrl"":""http://en.wikipedia.org/wiki/Cheese"",""url"":""http://en.wikipedia.org/wiki/Cheese"",""visibleUrl"":""en.wikipedia.org"",""cacheUrl"":""http://www.google.com/search?q\u003dcache:n9icdgMlCXIJ:en.wikipedia.org"",""title"":""\u003cb\u003eCheese\u003c/b\u003e - Wikipedia, the free encyclopedia"",""titleNoFormatting"":""Cheese - Wikipedia, the free encyclopedia"",""content"":""\u003cb\u003eCheese\u003c/b\u003e is a food consisting of proteins and fat from milk, usually the milk of cows, buffalo, goats, or sheep. It is produced by coagulation of the milk \u003cb\u003e...\u003c/b\u003e""},{""GsearchResultClass"":""GwebSearch"",""unescapedUrl"":""http://www.ilovecheese.com/"",""url"":""http://www.ilovecheese.com/"",""visibleUrl"":""www.ilovecheese.com"",""cacheUrl"":""http://www.google.com/search?q\u003dcache:GBhRR8ytMhQJ:www.ilovecheese.com"",""title"":""I Love \u003cb\u003eCheese\u003c/b\u003e!, Homepage"",""titleNoFormatting"":""I Love Cheese!, Homepage"",""content"":""The American Dairy Association\u0026#39;s official site includes recipes and information on nutrition and storage of \u003cb\u003echeese\u003c/b\u003e.""},{""GsearchResultClass"":""GwebSearch"",""unescapedUrl"":""http://www.gnome.org/projects/cheese/"",""url"":""http://www.gnome.org/projects/cheese/"",""visibleUrl"":""www.gnome.org"",""cacheUrl"":""http://www.google.com/search?q\u003dcache:jvfWnVcSFeQJ:www.gnome.org"",""title"":""\u003cb\u003eCheese\u003c/b\u003e"",""titleNoFormatting"":""Cheese"",""content"":""\u003cb\u003eCheese\u003c/b\u003e uses your webcam to take photos and videos, applies fancy special effects and lets you share the fun with others. It was written as part of Google\u0026#39;s \u003cb\u003e...\u003c/b\u003e""}],""cursor"":{""pages"":[{""start"":""0"",""label"":1},{""start"":""4"",""label"":2},{""start"":""8"",""label"":3},{""start"":""12"",""label"":4},{""start"":""16"",""label"":5},{""start"":""20"",""label"":6},{""start"":""24"",""label"":7},{""start"":""28"",""label"":8}],""estimatedResultCount"":""14400000"",""currentPageIndex"":0,""moreResultsUrl"":""http://www.google.com/search?oe\u003dutf8\u0026ie\u003dutf8\u0026source\u003duds\u0026start\u003d0\u0026hl\u003den-GB\u0026q\u003dcheese""}}, ""responseDetails"": null, ""responseStatus"": 200}";
g1 = JSONHelper.Deserialise<GoogleSearchResults>(json);
Response.Write(g1.content);
}
}
public class JSONHelper
{
public static T Deserialise<T>(string json)
{
T obj = Activator.CreateInstance<T>();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
DataContractJsonSerializer serialiser = new DataContractJsonSerializer(obj.GetType());
ms.Close();
return obj;
}
}
/// Deserialise from JSON
[Serializable]
public class GoogleSearchResults
{
public GoogleSearchResults() { }
public GoogleSearchResults(string _unescapedUrl, string _url, string _visibleUrl, string _cacheUrl, string _title, string _titleNoFormatting, string _content)
{
this.unescapedUrl = _unescapedUrl;
this.url = _url;
this.visibleUrl = _visibleUrl;
this.cacheUrl = _cacheUrl;
this.title = _title;
this.titleNoFormatting = _titleNoFormatting;
this.content = _content;
}
string _unescapedUrl;
string _url;
string _visibleUrl;
string _cacheUrl;
string _title;
string _titleNoFormatting;
string _content;
[DataMember]
public string unescapedUrl
{
get { return _unescapedUrl; }
set { _unescapedUrl = value; }
}
[DataMember]
public string url
{
get { return _url; }
set { _url = value; }
}
[DataMember]
public string visibleUrl
{
get { return _visibleUrl; }
set { _visibleUrl = value; }
}
[DataMember]
public string cacheUrl
{
get { return _cacheUrl; }
set { _cacheUrl = value; }
}
[DataMember]
public string title
{
get { return _title; }
set { _title = value; }
}
[DataMember]
public string titleNoFormatting
{
get { return _titleNoFormatting; }
set { _titleNoFormatting = value; }
}
[DataMember]
public string content
{
get { return _content; }
set { _content = value; }
}
}
কোডটি বর্তমানে সংকলন করে নিখুঁতভাবে চলে, তবে কোনও ফল দেয় না। আমার কী প্রয়োজন তা ফেরত দিতে কেউ আমাকে সহায়তা করতে পারে, ফলাফলগুলি স্ক্রিনে মুদ্রণের জন্য প্রস্তুত?
সম্পাদনা:
Json.NET উপরের উদাহরণ হিসাবে একই JSON এবং ক্লাস ব্যবহার করে কাজ করে।
GoogleSearchResults g1 = JsonConvert.DeserializeObject<GoogleSearchResults>(json);
লিঙ্ক: জেসন.এনইটি এর সাথে জেএসএনকে সিরিয়ালাইজিং এবং ডিজিজারাইজ করছে
সম্পর্কিত
সি # - নেস্টেড হ্যাশট্যাবগুলি পার্স জেএসএন অ্যারে জেএসন ফর্ম্যাট করা ডেটা
পার্স করে
GoogleSearchResults
টাইপের ক্ষেত্র এবং বৈশিষ্ট্যগুলির একই নাম রয়েছে। নেতৃস্থানীয় আন্ডারস্কোরগুলি দিয়ে আপনার ক্ষেত্রগুলির নামকরণের চেষ্টা করুন (যে কোনও কিছুই এই দুইয়ের মধ্যে বিভ্রান্ত করবে)।