mr.edris

در خواست آموزش و توضیحاتی تغریبا کاملا در باره json

3 ارسال در این موضوع قرار دارد

ُلام به همه دوستای عزیز


اقا ی لطفی به من کنین


من این جیسون برام گنگه


ممنون میشم توضیح بدید برام


هرچی کاملتر بهتر :greeting:


من فرقش و با اون http نمی فهمم :unsure:


به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر ادریس عزیز دوست قدیمی ما

 

خوب ادریس جان یادته قبلا ما می اومدیم مثلا برای جدا کردن یک ایدی نیمباز داخل فایل های xml که به ما سرور میداد کلی indexof و خیلی کارهای دیگه میکردیم تا فقط بدونیم ایدی رو جدا کنیم

json کار مارو خیلی راحت میکنه و که ما بتونیم ی نقل و اتقالاتی رو بین سرور انجام بدیم

خوب برای مثال لینک زیر رو ببین :DD:

http://app.basic4x.ir/reg/member.php

 

وقتی میریم داخلش ی صفحه پر از کد نشون میده که ادم نمی دونه چیه چون واقعا در هم هست

ولی قضیه چیز دیگه ای هست اونا همه مشخصات حساب های ثبت نام شده در برنامه ما هستن

json میاد اونارو برامون میگیره و مرتب میکنه و میده بهمون تا ازش استفاده کنیم

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

کد های زیر برای گرفتن اون اطلاعات از اون لینک و نمایشش داخل لیست ویو هست:

 

اول از همه باید اون اطلاعات رو بگیریم توسط HttpJob که در کتابخانه httpultis2 این کلاس وجود داره

	Dim Member As HttpJob
	Member.Initialize("Member", Me)
	Member.Download("http://app.basic4x.ir/reg/member.php")
	ProgressDialogShow("در حال دانلود لیست اعضا...")

تا اینجا اومدیم اون اطلاعات رو از سرور گرفتیم و فرستادیم به ساب JobDone  حالا توسط همین JSON میایم میریزمشون داخل یک لیست ویو مثلا می خوام نام و موقعیت رو پیدا کنه بین اونا و در لیست ویو نمایش بده :

Sub JobDone (Job As HttpJob)
	ProgressDialogHide
	If Job.Success = True Then
		Dim strReturn As String = Job.GetString
		Dim parser As JSONParser
        parser.Initialize(strReturn)
		If Job.JobName = "Member" Then
			Dim Members As List
			Members = parser.NextArray 
			For i = 0 To Members.Size - 1
				Dim m As Map
				m = Members.Get(i)
				Dim TL As TwoLines
				TL.First = m.Get("user_id")
				TL.Second = m.Get("location")
				ListView1.AddTwoLines2(TL.First, TL.Second, TL)
			Next
		Else
			Log("چیزی پیدا نشد")			
		End If
	Else
		ToastMessageShow("Error: " & Job.ErrorMessage, True)
	End If
	Job.Release
End Sub

کد بالا json برامون اطلاعات location و user_id رو گرفت و توسط map اونو داخل لیست ویو نشونمون داد

بازم مثال :(نقر دوم لیست ویو)

{"user_id":"myself","location":"tehran"}

این اطلاعات نفر دوم هست که قبلش نفر اول و بعدش کلی افراد وجود داره

برای گرفتن اطلاعاتش کافیه کد که در ساب jobdon هست رو دقت کنی و تنها جای مهمش کد زیر هست :

				TL.First = m.Get("user_id")
				TL.Second = m.Get("location")

من لیست ویو مثال زدم و عنوان شد ایدی و توضیحات لیست ویو شد موقعیت مون که json جان برامون مرتب میذاره

شات از کاری که کردیم :

GIF_110.gif

و سورس کد رو هم دانلود کن تا بهتر متوجه بشی :


JSON Online.zip

 

خوب تا اینجا اگه یکم برا json کد زیاد نوشتیم برای انلاین بودنش بود حالا به صورت افلاین ببین که فقط json کار میکنه

 

همون کد روش و کار بالا فقط در موقع افلاین:(نیاز به اینترنت نداریم)

 

کدی که من در سورس افلاین استفاده کردم :

	Dim JSON As JSONParser'تعریف کردن
	JSON.Initialize(File.ReadString(File.DirAssets, "Basic4X.json"))'گرفتن اطلاعات از فایلمون
	Dim Members As List
	Members = JSON.NextArray 
	For i = 0 To Members.Size - 1
		Dim m As Map
		m = Members.Get(i)
		Dim TL As TwoLines
		TL.First = m.Get("user_id")
		TL.Second = m.Get("location")
		ListView1.AddTwoLines2(TL.First, TL.Second, TL)
	Next

خیلی مختصر و مفید و قابل فهم

همون کار بالا و همون اطلاعات منتها در یک فایل که ما نیاز به دانلودش نداریم

لینک سورس کد کار با json افلاین :

 

JSON Offline.zip

 

شات هم همون شات بالا هست

 

یکم زیاد توضیح دادم سعی کردم بفهمی

 

هر چی سوال داری در این مورد بپرس تا کاملا یاد بگیری

 

 

 

mr.edris و Sina پسند شده است

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

یکمی گنگم باید چند باری باهاش کار کنم بیاد دستم ... این مپ و این چیزا

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری