Form Verisini JSON'a Dönüştürücü

JSON'a dönüştürmek için form-urlencoded bir dizeyi yapıştırın.

Nasıl hesaplanır?

Dize & karakterinden çiftlere, her çift de ilk = işaretinden anahtar ve değere ayrılır. İkisi de standart URL çözümlemesiyle çözülür: + ve %20 boşluk, %25 ise % olur. Baştaki ? yok sayılır, boş çiftler ve anahtarı boş olanlar atlanır, = içermeyen anahtarın değeri boş metin olur. Bir anahtar yeniden görünürse değerleri, geliş sırasıyla bir dizide toplanır. Tüm değerler metin olarak kalır: age=30 sayı değil 30 metnini verir. Çıktı girintili JSON'dur; sayaç ise farklı anahtar sayısıdır.

Örnek hesaplama

Girdi: name=Ada+Lovelace&city=London&tag=a&tag=b&note=100%25+sure. Beş çift var. name Ada Lovelace olur (artı boşluğa dönüşür), city London olur. tag iki kez geçtiği için [a, b] dizisine dönüşür. note 100% sure olarak çözülür. Beş çift ama dört farklı anahtar olduğundan araç anahtar sayısını 4 bildirir ve name, city, tag ile note alanlı bir nesne üretir.

Bu örneği dene →

Sık yapılan hatalar

  • Sayı veya mantıksal değer beklemek: her değer metin olarak çıkar, yani age=30 metin olan 30 olur; tür dönüşümünü kendiniz yapmalısınız.
  • Yalnızca sorgu kısmı yerine tam URL yapıştırmak. ? işaretinden önceki kısım silinmez, bu yüzden ilk anahtar adresi de içerir; yalnızca ? sonrasını yapıştırın.
  • Tekrarlanan anahtarların birbirini ezeceğini sanmak. Burada dizi olurlar; yalnızca son değeri tutan sunuculardan farklıdır.
  • Gerçek artı işaretinin %2B olarak gönderilmesi gerektiğini unutmak; çıplak + boşluk sayılır.
  • user[name] gibi köşeli parantezli adların iç içe nesneye dönüşmesini beklemek. Bunlar parantezleriyle birlikte düz anahtar olarak kalır.

Bu hesaplama hakkında

HTML formları ve pek çok API, veriyi application/x-www-form-urlencoded biçiminde gönderir — anahtar-değer çiftleri & ile birleştirilir, anahtar ile değer = ile ayrılır, özel karakterler ise yüzde kodlanır (boşluk + veya %20 olur). Bu düz, sıraya bağlı dize tarayıcıların göndermesi için pratik olsa da, özellikle item=1&item=2 gibi tekrarlanan anahtarların diziye dönüşmesi gerektiğinde yapılandırılmış JSON'a kıyasla okumak ve yeniden kullanmak zordur.

Bu araç, form-urlencoded bir dizeyi ayrıştırır, her anahtar ve değeri çözer ve temiz, biçimlendirilmiş JSON üretir. Backend geliştiricileri, bir form POST gövdesinin veya sorgu dizesinin gerçekte ne içerdiğini hızlıca incelemek için; QA mühendisleri ve API test uzmanları ise tarayıcı geliştirici araçlarından veya Postman gibi bir proxy'den yakalanan bir isteği başka bir uç noktaya ya da test dosyasına aktarmak için bu aracı kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Her şey metin olarak çıkar ve tekrar eden anahtarlar diziye dönüşür. a=1&a=2&b&c=%E2%82%AC yapıştırırsanız a için 1, 2 listesi, b için boş metin, c için euro işareti ve 3 anahtar sayısı elde edersiniz. Kodunuz sayı veya mantıksal değer bekliyorsa dönüştürmeyi sonradan yapın. Ayrıştırırken sizi hangi tuhaf kodlamalar ya da iç içe anahtar biçimleri zorladı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar