نیاز به راهنمایی برای این کد
سلام
من یه سری داده از طریق json به سرور ارسال میکنم و سرور هم مقادیر زیر رو برگشت میده
Array
(
[0] => stdClass Object
(
[Kind] => charter
[Description] => پروازهای چارتری
[AirLine] => Ata Airlines
[FlightNumber] => 5601
[Aircraft] =>
[LeaveDate] =>
[LeaveDateFa] => 96/04/25
[LeaveTime] => 05:30
[ArrivalTime] =>
[AirLineEnglish] =>IR
[ClassType] => Y
[ClassDetails] =>
[price] => 1900000
[PriceChild] =>
[PriceInfant] =>
[count] => 9
[From] =>
[To] =>
[AgencyCode] => 113
[agname] => ره بال آسمان
[subflid] =>
)
چطوری میتونم اینا رو توی یه ارایه یا هر چیز دیگه بریزم تا بتونم ازش استفاده کنم
مثلا [Kind] میشه charter
یا [LeaveDateFa] میشه 96/04/25
خیلی نیاز دارم
ممنون میشم کمک کنید
نقل قول: نیاز به راهنمایی برای این کد
شما باید این json رو به اصطلاح پارس کنید.
گوگل کنید C# parse json
نقل قول: نیاز به راهنمایی برای این کد
من نتونستم چیزی پیدا کنم
میشه یه نمونه کد سالم بزارید
خیلی ضروریه
ممنونم
نقل قول: نیاز به راهنمایی برای این کد
از کتابخانه Newtonsoft میتونید برای Serialize و Deserialize کردن json هاتون استفاده کنید :
https://www.codementor.io/andrewbuch...ject-4ui1o0bx8
http://www.dotnettips.info/post/900
نقل قول: نیاز به راهنمایی برای این کد
ممنون
من Newtonsoft رو دارم اما دقیقا ندونستم چطوری باید این کارایی که گفتی رو انجام بدم
اگر ممکنه کد برام بزار که خودت تست کرده باشی
ممنون میشم
نقل قول: نیاز به راهنمایی برای این کد
اگر لینک اون سرور که بهش request میدید رو قرار بدید بهتر میشه راهنمایی کرد .
نمونه ای از Parse کردن Json در #C :
WebClient c = new WebClient();
var data = c.DownloadString("http://localhost/json.php");
JObject o = JObject.Parse(data);
Console.WriteLine("Name: "+o["name"]);
نقل قول: نیاز به راهنمایی برای این کد
این تابعیه که من برای کاری مشابه با کار شما نوشتم:
public IEnumerable<Info> GetData(){
using (WebClient client = new WebClient())
{
client.Encoding = System.Text.Encoding.UTF8;
client.Headers.Add(HttpRequestHeader.AcceptCharset , "UTF-8");
string val = client.DownloadString(App.Address);
// deserialize json objects
var data = JsonConvert.DeserializeObject<List<Info>>(val);
// check status
if (data == null )
throw new NullReferenceException();
return data;
}
}
البته من فقط آدرس App.Address رو فراخونی میکنم. و اطلاعاتی مشابه با اطلاعات شما بصورت جیسون میده.
بعد اونها رو توی یه کلاس Info میریزم که همون فیلدها رو داره.
نقل قول: نیاز به راهنمایی برای این کد
نقل قول:
نوشته شده توسط
moslem.hady
این تابعیه که من برای کاری مشابه با کار شما نوشتم:
public IEnumerable<Info> GetData(){
using (WebClient client = new WebClient())
{
client.Encoding = System.Text.Encoding.UTF8;
client.Headers.Add(HttpRequestHeader.AcceptCharset , "UTF-8");
string val = client.DownloadString(App.Address);
// deserialize json objects
var data = JsonConvert.DeserializeObject<List<Info>>(val);
// check status
if (data == null )
throw new NullReferenceException();
return data;
}
}
البته من فقط آدرس App.Address رو فراخونی میکنم. و اطلاعاتی مشابه با اطلاعات شما بصورت جیسون میده.
بعد اونها رو توی یه کلاس Info میریزم که همون فیلدها رو داره.
ممنون
این کد واسه ارایه با یه فرمت دیگه هستش و فرمت کد ارایه من رو ساپورت نمیکنه
ببینید این کد جیسون هست که کاری که من میخوام رو انجام میده اما الان من میخوام با جاوا یا سی شارپ یا وی بی این کار رو انجام بدم
این کد جیسون
foreach(json_decode($server_output) as $row)
{
echo $row->Kind;
echo $row->LeaveDateFa;
}
این $server_output همون متن ارایه که توی پیام اولم گذاشتم رو نگه میداره