رفتن به مطلب
  • 0

Parse Json


Forutan

سوال

سلام دوستان

یه جیسون هست که مقدار اولیه نداره ورودی و خروجیش بصورت لیست هست میشه راهنمایی کنید چطور میشه آیتم هاش رو گرفت:

جیسون:

[{"name":"\u0627\u0628\u0639\u0627\u062f","options":["22.9 \u00d7 260 \u00d7 378 \u0645\u06cc\u0644\u06cc\u200c\u0645\u062a\u0631"]},{"name":"\u0648\u0632\u0646","options":["2.2 \u06a9\u06cc\u0644\u0648\u06af\u0631\u0645"]},{"name":"\u0633\u0627\u0632\u0646\u062f\u0647-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647","options":["Intel"]},{"name":"\u0633\u0631\u06cc-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647","options":["Core i5"]},{"name":"\u0645\u062f\u0644-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647","options":["8250U"]},{"name":"\u0645\u062d\u062f\u0648\u062f\u0647-\u0633\u0631\u0639\u062a-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647","options":["\u062a\u0627 2.0GHz"]},{"name":"\u0641\u0631\u06a9\u0627\u0646\u0633-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647","options":["1.60GHz up to 3.40 GHz"]},{"name":"\u062d\u0627\u0641\u0638\u0647-cache","options":["6 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a"]},{"name":"\u0638\u0631\u0641\u06cc\u062a-\u062d\u0627\u0641\u0638\u0647-ram","options":["8 \u06af\u06cc\u06af\u0627\u0628\u0627\u06cc\u062a"]},{"name":"\u0646\u0648\u0639-\u062d\u0627\u0641\u0638\u0647-ram","options":["DDR4"]},{"name":"\u0638\u0631\u0641\u06cc\u062a-\u062d\u0627\u0641\u0638\u0647-\u062f\u0627\u062e\u0644\u06cc","options":["\u06cc\u06a9 \u062a\u0631\u0627\u0628\u0627\u06cc\u062a"]},{"name":"\u0646\u0648\u0639-\u062d\u0627\u0641\u0638\u0647-\u062f\u0627\u062e\u0644\u06cc","options":["\u0647\u0627\u0631\u062f \u062f\u06cc\u0633\u06a9"]},{"name":"\u0645\u0634\u062e\u0635\u0627\u062a-\u062d\u0627\u0641\u0638\u0647-\u062f\u0627\u062e\u0644\u06cc","options":["5400RPM"]},{"name":"\u0633\u0627\u0632\u0646\u062f\u0647-\u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647-\u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc","options":["NVIDIA"]}]

کدی که واسه استفاده بیسیک میده:

Dim parser As JSONParser
parser.Initialize(<text>)
Dim root As List = parser.NextArray
For Each colroot As Map In root
 Dim name As String = colroot.Get("name")
 Dim options As List = colroot.Get("options")
 For Each coloptions As String In options
 Next
Next 

coloptions میشه مقادیری لیستی که گفتم اما چون تگ و اسم مشخصی ندارن نمیشه گرفت

گاهی اوقات options چند مورد هست مثلا 2 یا 3 یا...

با این سایت جیسون رو بررسی کردم

ساختارش:

B4J - JSON Tree2.png

 

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

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 15 دی 1399 در 01:04، For گفته است :

سلام دوستان

یه جیسون هست که مقدار اولیه نداره ورودی و خروجیش بصورت لیست هست میشه راهنمایی کنید چطور میشه آیتم هاش رو گرفت:

جیسون:

کدی که واسه استفاده بیسیک میده:

coloptions میشه مقادیری لیستی که گفتم اما چون تگ و اسم مشخصی ندارن نمیشه گرفت

گاهی اوقات options چند مورد هست مثلا 2 یا 3 یا...

با این سایت جیسون رو بررسی کردم

ساختارش:

سلام و درود. با کتابخونه persianjson خیلی راحت میشه پارس کرد. به شکل زیر

Type ItemModel(name As String, options As List)

'''''''''''''''''''''''''''''''''''''''

Dim js As PersianJSONArray
	js.initialize("your json")
	Dim listItems As List
	listItems.Initialize
	For i=0 To js.size-1
		Dim jobj As PersianJSONOBject=js.getJsonObject(i)
		Dim name As String=jobj.getString("name")
		Dim loptions As List
		loptions.Initialize
		Dim options As PersianJSONArray=jobj.getJsonArray("options")
		For j=0 To options.size-1
			Dim option As String=options.geTObject(j)
			loptions.Add(option)
		Next
		Dim item As ItemModel
		item.Initialize
		item.name=name
		item.options=loptions
		listItems.Add(item)
	Next

 

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...