2010-10-31 11 views
1

Je voudrais avoir un JSON comme format de données avec les caractéristiques suivantes:PHP: JSON comme format de données, l'analyseur recherche

  • support des tableaux (idéal avec [item; item; item] sous forme de notation et [key: value; key2: value2]), également niché
  • soutien à cordes, idéal avec les éléments suivants: "foo",0x0a,"bar"
  • nombres hexadécimaux, numéros bin, nombres décimaux

Est-ce que quelqu'un sait un analyseur syntaxique pour un bref format de données dix en PHP? JSON est trop rigide, car les clés doivent être entre guillemets et les tableaux associatifs ont une notation différente des normales et en raison de la concaténation de chaînes manquante pour les caractères spéciaux.

+0

Qu'est-ce qui ne va pas avec '" foo \ nbar "' ou '" foo \ u000Abar "'? – Gumbo

Répondre

2

Jetez un oeil à YAML. Cela devrait être assez proche de ce que vous voulez. Il a lists and associative arrays, connaît un certain nombre de types de données. La prise en charge des nombres hexadécimaux semble dépendre de l'analyseur utilisé.

Il ne semble pas faire de nombres binaires, et ne peut pas faire de concaténation de chaînes comme indiqué dans votre exemple, mais un analyseur bien écrit devrait être relativement facile à étendre en conséquence. En outre, il existe une disposition pour user-defined data types.

Here est une liste de parseurs PHP YAML.

+0

merci, spécialement pour votre mise à jour :) – levu

+0

Soyez prudent en utilisant YAML avec php, vous trouverez que de nombreux analyseurs ne sont pas entièrement conformes à la spécification YAML ce qui peut rendre votre encodage/décodage des données problématique lors de l'échange de données avec un tiers. – Keilo