PDA

View Full Version : سوال: کسی از دوستان می تونه این کدها رو به شکل json تبدیل کنه؟



idocsidocs
جمعه 28 مرداد 1390, 17:37 عصر
کسی از دوستان می تونه این کدها رو به شکل json تبدیل کنه؟
لطفا کد های این کار رو برام بنویسید.

<ul>
<li><div id="div2"><p class="class1" >1</p></div></li>
<li>
<ul>
<li>2</li>
</ul>
</li>
</ul>

eAmin
جمعه 28 مرداد 1390, 18:48 عصر
خیلی بهتر و اصولی تر میشه این رو نوشت:

{
ul: [
{
li: {
div: {
id: 'div2',
value: {
p: {
class: 'class1',
value: 1
}
}
},
{
li:{
ul: [ { li: 2} ]
}
}
]
}

idocsidocs
جمعه 28 مرداد 1390, 19:29 عصر
خیلی بهتر و اصولی تر میشه این رو نوشت:

{
ul: [
{
li: {
div: {
id: 'div2',
value: {
p: {
class: 'class1',
value: 1
}
}
},
{
li:{
ul: [ { li: 2} ]
}
}
]
}

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

چندتا سوال:
1- منطق استفاده از کاراکترهای { } [] , چیه؟
2- اگر بجای سینگل کوتیشن از دابل کوتیشن استفاده کنیم چه مشکلی پیش می یاد؟
3- چرا بعضی جاها از value استفاده کردید و بعضی جاها از value استفاده نکردید؟
4- برای بقیه خصوصیتهای بقیه تگ ها (تگهای table, form, input, img و ...) هم می شه شبیه به خصوصیت های class و id عمل کرد؟ مثلا می شه توی یه لینک برای خصیصه href به شکل زیر عمل کرد؟

href : 'http:mysite.com'

اگه وقت داشته باشید می شه این تاپک رو به یه تاپک آموزشی در مورد json تبدیل کرد.

eAmin
جمعه 28 مرداد 1390, 22:41 عصر
JSON (http://json.org/json-fa.html) شما لینکی که قرار دادم رو مطالعه کنید، درضمن فارسی هم هست! اونوقت منطق استفاده از کاراکترهایی که بیان کردید رو می فهمید.
JSON از Syntax جاوااسکریپت استفاده میکنه، بنابراین شما باید از قواعد JavaScript استفاده کنید.

هیچ مشکلی پیش نمی یاد، هر دو نوع از نوع string هستند.
استفاده از value, id, class, href همه این اسمها اختیاری هست، این شمائید که تعیین می کنید از چه اسمی استفاده کنید. من فقط تگهایی که دارای attribute بودن رو برای اینکه خصیصه ها رو از مقدار تمایز بدم اینکار رو کردم. البته همونطور که گفتم، شما تعیین می کنید که از چه قالبی پشتیبانی کنه.

تمامی آموزشها و قواعد JSON در همون لینکی که قرار دادم بصورت کامل توضیح داده شده، مثل XML پیچیده نیست. گرچه XML هم به تنهایی چیز خاصی نداره...

idocsidocs
شنبه 29 مرداد 1390, 23:04 عصر
JSON (http://json.org/json-fa.html) شما لینکی که قرار دادم رو مطالعه کنید، درضمن فارسی هم هست! اونوقت منطق استفاده از کاراکترهایی که بیان کردید رو می فهمید.
JSON از Syntax جاوااسکریپت استفاده میکنه، بنابراین شما باید از قواعد JavaScript استفاده کنید.

هیچ مشکلی پیش نمی یاد، هر دو نوع از نوع string هستند.
استفاده از value, id, class, href همه این اسمها اختیاری هست، این شمائید که تعیین می کنید از چه اسمی استفاده کنید. من فقط تگهایی که دارای attribute بودن رو برای اینکه خصیصه ها رو از مقدار تمایز بدم اینکار رو کردم. البته همونطور که گفتم، شما تعیین می کنید که از چه قالبی پشتیبانی کنه.

تمامی آموزشها و قواعد JSON در همون لینکی که قرار دادم بصورت کامل توضیح داده شده، مثل XML پیچیده نیست. گرچه XML هم به تنهایی چیز خاصی نداره...

هیچ مشکلی پیش نمی یاد، هر دو نوع از نوع string هستند.
منظورتون اینه که استفاده از value اختیاری هست؟

من جایی دیدم که توی آژاکس از json استفاده می شه و کدها رو به سمت مروگر ارسال می کنن، و از تابع eval برای گرفتن جواب سرور استفاده می کنن.

راهی نیست که بجای تابع eval به شکل دیگه ای کدهای ارسالی توسط سرور رو بدست آورد؟

eAmin
یک شنبه 30 مرداد 1390, 13:39 عصر
منظورتون اینه که استفاده از value اختیاری هست؟
بله، کلا تمامی اسمهایی که انتخاب شده اختیاری هست. مثلا می تونستیم بجای ul بنویسیم unorderedlist و ... فقط کافیه Syntax رو حفظ کنید.

از eval برای پردازش داده های JSON استفاده میشه، چون JSON از JavaScript ایده ی اصلیش گرفته شده، خیلی راحت میشه این داده ها رو بصورت درونی در JavaScript با استفاده از تابع eval پردازش کرد.

idocsidocs
یک شنبه 30 مرداد 1390, 14:06 عصر
بله، کلا تمامی اسمهایی که انتخاب شده اختیاری هست. مثلا می تونستیم بجای ul بنویسیم unorderedlist و ... فقط کافیه Syntax رو حفظ کنید.

از eval برای پردازش داده های JSON استفاده میشه، چون JSON از JavaScript ایده ی اصلیش گرفته شده، خیلی راحت میشه این داده ها رو بصورت درونی در JavaScript با استفاده از تابع eval پردازش کرد.

منظورم این بود که توی کدهای زیر استفاده از کلمه value اجباریه یا اختیاری؟

div: {
id: 'div2',
value: {
p: {
class: 'class1',
value: 1
}
}

بدون استفاده از eval نمی شه پاسخ سرور که به شکل json هست رو بدست آورد؟

eAmin
دوشنبه 31 مرداد 1390, 23:58 عصر
عرض کردم خدمت شما، بله اختیاری هست!
همونطور که گفتم از تابع eval برای پردازش/parse کردن داده ها استفاده میشه. وقتی این تابع کار ما رو آسون میکنه، چرا باید به فکر پیاده سازی JSON Parser مانند زبانهای غیر JavaScript در JavaScript بیوفتیم؟!
JSON از Syntax جاوااسکریپت استفاده میکنه، و این یعنی شما با متغیر های JavaScript سروکار دارید!!!

idocsidocs
سه شنبه 01 شهریور 1390, 23:48 عصر
عرض کردم خدمت شما، بله اختیاری هست!
همونطور که گفتم از تابع eval برای پردازش/parse کردن داده ها استفاده میشه. وقتی این تابع کار ما رو آسون میکنه، چرا باید به فکر پیاده سازی JSON Parser مانند زبانهای غیر JavaScript در JavaScript بیوفتیم؟!
JSON از Syntax جاوااسکریپت استفاده میکنه، و این یعنی شما با متغیر های JavaScript سروکار دارید!!!
اگه این کلمه رو حذف کنم، سینتکس کمی گنگ می شه برام. امکانش هست که کد زیر رو بدون value بنویسید ؟
div: {
id: 'div2',
value: {
p: {
class: 'class1',
value: 1
}