Javascript bilan JSON ob'ektidan maxsus qatorni qanday olish mumkin?

Men foydalanuvchi ma'lumotlarini JSON formatida qaytaradigan Facebook SDS bilan ishlayman. E-pochta manzilini qaytaradigan javob kabi javobni qanday qabul qilishni bilaman. Lekin qanday qilib elementni ichki qator ob'ektidan olish mumkin? Misol: foydalanuvchining ta'lim tarixida bir nechta massivlar bo'lishi mumkin va har bir qatorda "maktab" ning "nomi" kabi element mavjud. Men ob'ektni oxirgi qatoridan olishni istayman.

Bu JSON namunasi: -

"education": [
{
  "school": {
    "id": "162285817180560",
    "name": "Jhenaidah** School"
  },
  "type": "H**hool",
  "year": {
    "id": "14404**5610606",
    "name": "2011"
  },
  "id": "855**14449421"
},
{
  "concentration": [
    {
      "id": "15158**968",
      "name": "Sof**ering"
    },
    {
      "id": "20179020**7859",
      "name": "Dig**ty"
    }
  ],
  "school": {
    "id": "10827**27428",
    "name": "Univer**g"
  },
  "type": "College",
  "id": "9885**826013"
},
{
  "concentration": [
    {
      "id": "108196**810",
      "name": "Science"
    }
  ],
  "school": {
    "id": "2772**996993",
    "name": "some COLLEGE NAME I WANT TO GET"
  },
  "type": "College",
  "year": {
    "id": "1388*****",
    "name": "2013"
  },
  "id": "8811215**16"
}]

Keling, oxirgi qatordan "name" ni olishni xohlayman, deylik: "ba'zi kollej nomini olishni istayman" . Javascript bilan qanday amalga oshiriladi? Umid qilamanki, muammoimni tushuntirib bera olaman. rahmat

0
qo'shib qo'ydi muallif Jonathan Lonowski, manba
qo'shib qo'ydi muallif Jonathan Lonowski, manba
qo'shib qo'ydi muallif Jonathan Lonowski, manba
qo'shib qo'ydi muallif Jonathan Lonowski, manba
@JonathanLonowski sharhingiz uchun rahmat
qo'shib qo'ydi muallif Mohammad Julfikar, manba
@JonathanLonowski sharhingiz uchun rahmat
qo'shib qo'ydi muallif Mohammad Julfikar, manba

6 javoblar

Here is a JsFiddle Example

var json = '{}'//your data;

// convert to JavaScript object:
var obj = JSON.parse(json);

// get last item in array:
var last = obj.education[obj.education.length - 1].school.name;
// result: some COLLEGE NAME I WANT TO GET
2
qo'shib qo'ydi
@MohammadJulfikar dahshatli! :-) Yordamimdan xursandman.
qo'shib qo'ydi muallif Matt D. Webb, manba
@MohammadJulfikar JsFiddlening dastasini yarating va JSONni yangilang, keyin bu erda havolani yapıştırın, men ko'rib chiqaman! :-)
qo'shib qo'ydi muallif Matt D. Webb, manba
men boshqalar bilan birgalikda, boshqa bir jsonning bir qismi edi. Uni qanday qilib jsfiddleda qilganingiz kabi bo'lishim mumkin?
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Vau rahmat: D ishladi
qo'shib qo'ydi muallif Mohammad Julfikar, manba

Agar siz bu elementning qaerdaligini bilsangiz, unda siz uni chaqirganingizdek tanlaysiz

var obj = FACEBOOK_ACTION;
obj.education[2].school.name

Agar siz ayniqsa so'nggi elementni ni tanlashni xohlasangiz, quyidagi kabi foydalaning:

obj.education[ obj.education.length - 1 ].scool.name
1
qo'shib qo'ydi
qo'shib qo'ydi muallif lumio, manba
Bilaman, Facebookning qaytishi shu. Lekin siz buni bilasizmi, Facebook uni qaytarib beradi? Uni qaerda deysiz? Yoki buni SDK/Dev veb-saytida sinab ko'rayapsizmi?
qo'shib qo'ydi muallif lumio, manba
Lekin o'zgaruvchining nomi qanday? Ushbu JSONni qanday qilib chaqirasiz?
qo'shib qo'ydi muallif lumio, manba
Xo'sh, JSON ma'lumoti saqlangan joy. Men shunchaki tasodifiy o'zgarmaydigan nomni tanladim, unda saqlanishi mumkin :) Sizning JSON saqlangan joy bu erda qayerda sizning javobimni qayta yozaman
qo'shib qo'ydi muallif lumio, manba
Oh rahmat. Mening jsonim shunday boshlanadi: "{{nom": "9040 1539", "ism": "Mohammad Julfikar Mahmud", "email": "theirm 02/10/19 ** "," ta'lim ": [{" maktab ": {" id ":" 1622 0560 "," ism ":" J *
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Salom, tezkor javob uchun rahmat. Lekin menda chalkashliklar bor. Bu erda FACEBOOK_ACTION nima?
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Kechirasiz, buni olmadim. Bu Facebookning javobini qaytaradi: /
qo'shib qo'ydi muallif Mohammad Julfikar, manba

Agar siz bu elementning qaerdaligini bilsangiz, unda siz uni chaqirganingizdek tanlaysiz

var obj = FACEBOOK_ACTION;
obj.education[2].school.name

Agar siz ayniqsa so'nggi elementni ni tanlashni xohlasangiz, quyidagi kabi foydalaning:

obj.education[ obj.education.length - 1 ].scool.name
1
qo'shib qo'ydi
qo'shib qo'ydi muallif lumio, manba
Bilaman, Facebookning qaytishi shu. Lekin siz buni bilasizmi, Facebook uni qaytarib beradi? Uni qaerda deysiz? Yoki buni SDK/Dev veb-saytida sinab ko'rayapsizmi?
qo'shib qo'ydi muallif lumio, manba
Lekin o'zgaruvchining nomi qanday? Ushbu JSONni qanday qilib chaqirasiz?
qo'shib qo'ydi muallif lumio, manba
Xo'sh, JSON ma'lumoti saqlangan joy. Men shunchaki tasodifiy o'zgarmaydigan nomni tanladim, unda saqlanishi mumkin :) Sizning JSON saqlangan joy bu erda qayerda sizning javobimni qayta yozaman
qo'shib qo'ydi muallif lumio, manba
Oh rahmat. Mening jsonim shunday boshlanadi: "{{nom": "9040 1539", "ism": "Mohammad Julfikar Mahmud", "email": "theirm 02/10/19 ** "," ta'lim ": [{" maktab ": {" id ":" 1622 0560 "," ism ":" J *
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Salom, tezkor javob uchun rahmat. Lekin menda chalkashliklar bor. Bu erda FACEBOOK_ACTION nima?
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Kechirasiz, buni olmadim. Bu Facebookning javobini qaytaradi: /
qo'shib qo'ydi muallif Mohammad Julfikar, manba

Yuqoridagi jsoningiz json deb nomlangan ob'ektga saqlangan bo'lsa, siz quyidagi kod bilan tanishishingiz mumkin "COLLEGE NAME I GO TO GET" :

json.education[2].school.name
1
qo'shib qo'ydi
"ta'lim" bir qator ichida
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Sintaksis o'xshash. Agar sizning json obyekti arr ismli qatorning birinchi elementi bo'lsa, quyidagi tarzda maktab nomiga kirishingiz mumkin: arr [0] .ducation [2] .school.name
qo'shib qo'ydi muallif Steve Joachim, manba

Yuqoridagi jsoningiz json deb nomlangan ob'ektga saqlangan bo'lsa, siz quyidagi kod bilan tanishishingiz mumkin "COLLEGE NAME I GO TO GET" :

json.education[2].school.name
1
qo'shib qo'ydi
"ta'lim" bir qator ichida
qo'shib qo'ydi muallif Mohammad Julfikar, manba
Sintaksis o'xshash. Agar sizning json obyekti arr ismli qatorning birinchi elementi bo'lsa, quyidagi tarzda maktab nomiga kirishingiz mumkin: arr [0] .ducation [2] .school.name
qo'shib qo'ydi muallif Steve Joachim, manba

Buni ko'ring,

if (myData.hasOwnProperty('merchant_id')) {
   //do something here
}

JSON myData </​​code> bu erda:

{
    amount: "10.00",
    email: "[email protected]",
    merchant_id: "123",
    mobile_no: "9874563210",
    order_id: "123456",
    passkey: "1234"
}

Bu tushunishingiz uchun oddiy misol. Ichki ichki ob'ektlardagi senariyingizda, JSON ma'lumotingizdan pastadir va name kalitini tekshirish uchun hasOwnProperty dan foydalaning.

0
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb