PDA

View Full Version : دریافت داده در Action



mehrvarzan
سه شنبه 27 مهر 1395, 08:43 صبح
سلام
اینو ببینید: http://exchange.nalbandan.com/api.php?action=json
خروجی json داره


چطور میتونم توی Action mvc اطلاعات رو توی متغییری از جنس json ذخیره کنم؟

Moien Tajik
سه شنبه 27 مهر 1395, 14:47 عصر
سلام ,
اگر بخواید مانند سایتی که نمونش رو گذاشتید درست کنید ، باید از Web Api استفاده کنید.
اطلاعات رو اگر بخواید درون متغییر ذخیره کنید اون هارو داخل var میتونید بریزید و راه بهتر این هست که از return JsonResult استفاده کنید که خروجیی از نوع json به شما میده .

این آموزش ها کمکتون میکنه :
http://www.c-sharpcorner.com/UploadFile/2ed7ae/jsonresult-type-in-mvc/
http://www.hanselman.com/blog/OneASPNETMakingJSONWebAPIsWithASPNETMVC4BetaAndASP NETWebAPI.aspx

mehrvarzan
چهارشنبه 28 مهر 1395, 09:07 صبح
سلام ,
اگر بخواید مانند سایتی که نمونش رو گذاشتید درست کنید ، باید از Web Api استفاده کنید.
اطلاعات رو اگر بخواید درون متغییر ذخیره کنید اون هارو داخل var میتونید بریزید و راه بهتر این هست که از return JsonResult استفاده کنید که خروجیی از نوع json به شما میده .

این آموزش ها کمکتون میکنه :
http://www.c-sharpcorner.com/UploadFile/2ed7ae/jsonresult-type-in-mvc/
http://www.hanselman.com/blog/OneASPNETMakingJSONWebAPIsWithASPNETMVC4BetaAndASP NETWebAPI.aspx

اون سایت خروجی json داره

الان بگید دقیقا چی بزنم که توی یه متغیر ذخیره بشه

Moien Tajik
چهارشنبه 28 مهر 1395, 15:05 عصر
http://stackoverflow.com/a/25031502

mehrvarzan
چهارشنبه 28 مهر 1395, 19:58 عصر
http://stackoverflow.com/a/25031502

عزیز الان توی این لینک چطور آموزش داده که میشه از لینک خارجی داده json دریافت کرد؟

Moien Tajik
چهارشنبه 28 مهر 1395, 20:56 عصر
عزیز الان توی این لینک چطور آموزش داده که میشه از لینک خارجی داده json دریافت کرد؟
شاید من منظورتون رو درست نفهمیدم .



اینو ببینید:
http://exchange.nalbandan.com/api.php?action=json
خروجی json داره

چطور میتونم توی Action mvc اطلاعات رو توی متغییری از جنس json ذخیره کنم؟


اگر منظورت این هست که اطلاعات این لینک که دادید رو داخل یک متغییر داشته باشید ، باید اون صفحه رو دانلود کنید و داخل یه متغییر ذخیرش کنید و بعدا ازش استفاده کنید ، به این شکل :

public ActionResult Index()
{
using (var client = new WebClient { Encoding = Encoding.UTF8 })
{
var downloadString = client.DownloadString("http://exchange.nalbandan.com/api.php?action=json");
return Json(downloadString, JsonRequestBehavior.AllowGet);
}
}

اما اگر میخواید خودتون اطلاعتتون ( برای مثال اطلاعات داخل دیتابیس ) رو به این صورت نمایش بدید از لینک هایی که بالا دادم میتونید استفاده کنید .

mehrvarzan
پنج شنبه 29 مهر 1395, 14:06 عصر
بله دقیقا منظورم همین بود.
تشکر

mehrvarzan
پنج شنبه 29 مهر 1395, 14:44 عصر
حالا من زیاد با جی سون کار نکردم. بیشتر با آرایه بوده.
چطور میشه پارامترها رو از این خروجی کشید بیرون؟
مثلا من فقط توی اون نرخ یورو رو بخوام چطور میشه کشید بیرون؟

Moien Tajik
پنج شنبه 29 مهر 1395, 20:44 عصر
حالا من زیاد با جی سون کار نکردم. بیشتر با آرایه بوده.
چطور میشه پارامترها رو از این خروجی کشید بیرون؟
مثلا من فقط توی اون نرخ یورو رو بخوام چطور میشه کشید بیرون؟

در کنترلر :

using (var client = new WebClient { Encoding = Encoding.UTF8 })
{
var downloadString = client.DownloadString("http://exchange.nalbandan.com/api.php?action=json");
dynamic json = JsonConvert.DeserializeObject(downloadString);
ViewBag.Json = json.euro;
return View();
}

در ویو :

@{
@ViewBag.Json.date <br/>
@ViewBag.Json.persian <br/>
@ViewBag.Json.value <br/>
@ViewBag.Json.unit <br/>
}