Bunu yapmanın (hacky) yolları var ... ama yapmamalısın.
JSON'da bir nesne şu şekilde tanımlanır:
Bir nesne, sıralanmamış bir ad / değer çiftleri kümesidir.
Bkz http://json.org .
JSON uygulamalarının çoğu, (tanım gereği) önemli olmadığı için bir nesnenin ad / değer çiftlerinin sırasını korumak için hiçbir çaba göstermez.
Düzenin korunmasını istiyorsanız, veri yapınızı yeniden tanımlamanız gerekir; Örneğin
{
"items":
[
[
{"WR":"qwe"},
{"QU":"asd"},
{"QA":"end"},
{"WO":"hasd"},
{"NO":"qwer"}
],
]
}
veya daha basitçe:
{
"items":
[
{"WR":"qwe"},
{"QU":"asd"},
{"QA":"end"},
{"WO":"hasd"},
{"NO":"qwer"}
]
}
TAKİP ET
Bilgi için teşekkürler, ancak uygulamamda JSON kullanmaktan başka seçeneğim yok ve uygulamamın JSON nesnesinin tanımından bağımsız olarak anahtarların sırasını tutması gerekiyor ... JSON dosyasının formatını değiştirmeme izin verilmiyor ayrıca ...
Bu dosya yapısını tasarlayan kişiyle sıkı bir konuşma yapmanız gerekir ve onu değiştirmenize izin vermezsiniz. Açıkça yanlıştır. Sen lüzum onları ikna etmek.
Onlar ise gerçekten bunu değiştirmek izin vermez:
- Sen ısrar etmelidir değil değil mi çünkü' ... JSON olarak nitelendirdi.
- Bu "JSON değil" biçimini işlemek için özel olarak kod yazmanız / değiştirmeniz gerekeceğini belirtmelisiniz ... sırayı koruyan bir JSON uygulaması bulamazsanız. Ödeme yapan bir müşteriyse, yapmanız gereken bu ekstra iş için ödeme yaptıklarından emin olun.
- "JSON değil" nin başka bir araç tarafından kullanılması gerekiyorsa bunun sorunlu olacağını belirtmelisiniz. Nitekim bu sorun defalarca ortaya çıkacaktır ...
Bu tür şeyler gerçekten çok kötü. Bir yandan, yazılımınız birlikte çalışabilirliği teşvik etmek için tasarlanmış, iyi oluşturulmuş / uzun süredir devam eden bir spesifikasyonu ihlal ediyor olacaktır. Öte yandan, bu topal tasarlanmış nit-fikir (değil JSON!) Dosya biçimi muhtemelen baş edemez sistemleri çünkü diğer insanların sistemlerini vb' kapalı slagging vardır onların saçma.
GÜNCELLEME
JSON RFC'nin (RFC 7159) bu konuda söylediklerini de okumaya değer . İşte bazı alıntılar:
RFC 4627'nin yayınlanmasından bu yana geçen yıllarda JSON çok geniş bir kullanım alanı bulmuştur. Bu deneyim, spesifikasyonların izin verdiği halde birlikte çalışabilirlik sorunlarına neden olan belirli kalıpları ortaya çıkardı.
JavaScript Object Notation (JSON), yapılandırılmış verilerin serileştirilmesi için bir metin formatıdır. ...
JSON, dört ilkel türü (dizeler, sayılar, mantıksallar ve boş) ve iki yapılandırılmış türü (nesneler ve diziler) temsil edebilir.
Bir nesne, sıfır veya daha fazla ad / değer çiftinin sıralanmamış bir koleksiyonudur; burada bir ad bir dizedir ve bir değer bir dize, sayı, boole, boş, nesne veya dizidir.
JSON ayrıştırma kitaplıklarının, nesne üyelerinin sırasını çağıran yazılım için görünür kılıp kılmadıklarına göre farklılık gösterdikleri gözlemlenmiştir. Davranışı üye sıralamasına bağlı olmayan uygulamalar, bu farklılıklardan etkilenmeyecekleri için birlikte çalışabilir olacaktır.