Json ayırma

Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Altın Üyelik Bitiş Tarihi
06-03-2020
Merhabalar daha önce açmıştım konuyu ama bir türlü mantığını ögrenemedim. Sizden ricam açıklamalı olarak kod verebilir misiniz? Çünküü ara sıra json biçimi değişiyor her zaman sizleri rahatsız etmek istemiyorum. :)
Sorum böyle.

{
"-MWAhME2859987": {
"id": "02",
"name": "abc"
},
"-MWAhME2Irl4Kp08xZ5k": {
"id": "25",
"name": "emn"
},
"Mdf5455259899p08xZ5k": {
"name": "ahmet",
"id": 15
}
}


Yukardaki json örneğini aşağıdaki excel sayfası gibi dizmek istiyorum.




Aynı şekilde

{"id":"25","name":"emn"}

Yukardaki jsonuda aşağıddaki excel sayfasına dizmek istiyorum. Bu iki json için vba kodu lasım şimdiden teşekkürler.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,237
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Merhabalar daha önce açmıştım konuyu ama bir türlü mantığını ögrenemedim.
Webte JSON syntax olarak aratmanız lazım... Türkçe çok fazla kaynak göremedim; ihtiyaç varsa çeviri kullanın.

 
Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Altın Üyelik Bitiş Tarihi
06-03-2020
Webte JSON syntax olarak aratmanız lazım... Türkçe çok fazla kaynak göremedim; ihtiyaç varsa çeviri kullanın.

Öncelikle teşekkürler.
Yukarda vermiş olduğunuz linkte Excel vba için kod bulamadım. İnternette baya araştırdım ancak aradığımı bulamadım son olarak buraya yazdım. Türkçe dışında kaynak varsa da olur sıkıntı olmaz.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Bu iş için yazılmış JSON class'lar var.

Ama; RegEx veya string manipülasyonlarıyla da yapılabilir.

Eğer verdiğiniz 2. örnekteki string'in A1 hücresinde olduğunu kabul edersek;

C++:
Sub Test()
    strJSON = Range("A1")
    
    MsgBox Replace(Split(Split(strJSON, """id"":")(1), ",")(0), """", "")
    MsgBox Replace(Replace(Split(Split(strJSON, """name"":")(1), ",")(0), "}", ""), """", "")
End Sub
.
 
Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Altın Üyelik Bitiş Tarihi
06-03-2020
Bu iş için yazılmış JSON class'lar var.

Ama; RegEx veya string manipülasyonlarıyla da yapılabilir.

Eğer verdiğiniz 2. örnekteki string'in A1 hücresinde olduğunu kabul edersek;

C++:
Sub Test()
    strJSON = Range("A1")
   
    MsgBox Replace(Split(Split(strJSON, """id"":")(1), ",")(0), """", "")
    MsgBox Replace(Replace(Split(Split(strJSON, """name"":")(1), ",")(0), "}", ""), """", "")
End Sub
.
Teşekkürler
 
Üst