Veri değişim biçimi gibi JSON Ayrıştırma

3 Cevap php

Ben hiçbir tırnak işaretleri kullanan bir veri değişim formatı kullanmak istiyorum. JSON dayalı Belki bir şey:

{param:value,param:value,param:{[{param:value,param:value}, {param:value,param:value}]}}

Bunu nasıl in en PHP diyelim gibi bir şey ayrıştırma hakkında gitmeli. Düzenli ifadeler yoluyla yapmalıyım?

3 Cevap

Neden mevcut kütüphaneler ve sizin için mevcut araçları kapalı JSON ve kaldıraç kullanmak değil mi? This blog entry PHP JSON çözümleyici ayrıntıları.

To handle JSON data there is JSON extension in PHP which is available after PHP 5.2.0. Two functions : json_encode() and json_decode() are very useful converting and parsing JSON data through PHP.

(JSON, XML, Google Protokol Tamponlar, YAML) mevcut pek çok iyi tanımlanmış ve iyi test seçenek varken başka bir format oluşturma tekrarlayan ve hata eğilimli görünüyor.

Ne biçim tırnak işareti kullanmayın sahip hakkında bu kadar önemli? Şansını bu gereklilik (ki daha iyi olurdu) go away yapmak için değiştirmek olabilir başka bir şey var vardır.

Bildiğim kadarıyla JSON gibi formatları ayrıştırmak için normal ifadeler kullanarak gibi, no. Bu BAD fikir; düzenli ifadeler gerçekten JSON gibi yinelemeli yapılar ayrıştırmak hiç düşünülmediğini. En azından size özyineleme ile başa girişimi için kullanmak gerekir birçok regex maç performansı ile sorunları içine edeceğiz; en kötü ihtimalle bile maç ve ilk etapta özyineleme ayrıştırmak nasıl sıralamak için çalışırken snafus içine edeceğiz.

Önerdiği gibi, biçim, hem de kendi sorunları var: nasıl bir anahtar değeri bir ,, {, ya da : arasında ayrım ve do Gerçek ,, {, ya da : bu formatta bir parçası? Nasıl bir anahtar veya değer isimleri boşluk ile anlaşma yapmak?

Sen XML kullanmak ve herhangi özelliklerini kullanamadı. Ayrıca bazı tırnak işaretleri var başlığını önlemek gerekiyordu.