2017-01-12 1 views
0

Selon le titre, existe-t-il un moyen de convertir un objet C/AL en objet JSON? Si je ne me trompe pas, certains types de données dans C/AL peuvent être convertis directement en objet .NET (chaîne, int, etc) mais je ne suis pas sûr de savoir quels types sont/ne sont pas.Conversion d'un objet C/AL en JSON

Je cherche à transférer des tables et des variables de type requête aux codes gérés en utilisant JSON. Ai-je besoin de construire tout le JSON et de le sérialiser avant de l'envoyer? Ou y a-t-il quelque chose de plus simple?

Je suis à la recherche s'il y a une façon de faire quelque chose comme ceci:

JsonConvert.Serialize(MyTableVariable); 
JsonConvert.Serialize(MyQueryVariable); 

Répondre

1

Il n'y a aucun moyen standard pour convertir enregistrement/requête JSON. De plus, vous ne voudrez plus jamais voir tous les champs d'enregistrement dans json. Très probablement, vous n'avez besoin que d'un petit sous-ensemble des champs. Vous devez créer json manuellement.

Vous pouvez utiliser des types RecordRef/FieldRef pour parcourir les champs de l'enregistrement et les exporter dans des champs json. Si vous faites cela, il sera universel pour toute variable d'enregistrement dans le système. Je ne suis pas sûr que vous pouvez faire la même chose avec des questions si. Et vous devrez gérer chaque document individuellement.

Vous pouvez également créer un XMLPort pour chaque enregistrement/document/requête désigné et l'utiliser pour exporter des données vers xml, puis convertir xml en json. Mais il peut y avoir des problèmes avec la conversion elle-même et l'inflexibilité des ports de Nav (si vous avez besoin de la structure de conplex json).