Ich frage mich nur, ob ich JSON zu weit dränge? und wenn jemand das schon einmal getroffen hat?JSON-Posting, treibe ich JSON zu weit?
ich eine XML-Datei haben:
<?xml version="1.0" encoding="UTF-8"?>
<customermodel:Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:customermodel="http://customermodel" xmlns:personal="http://customermodel/personal" id="1" age="1" name="Joe">
<bankAccounts xsi:type="customermodel:BankAccount" accountNo="10" bankName="HSBC" testBoolean="true" testDate="2006-10-23" testDateTime="2006-10-23T22:15:01+08:00" testDecimal="20.2" testTime="22:15:01+08:00">
<count>0</count>
<bankAddressLine>HSBC</bankAddressLine>
<bankAddressLine>London</bankAddressLine>
<bankAddressLine>31 florence</bankAddressLine>
<bankAddressLine>Swindon</bankAddressLine>
</bankAccounts>
</customermodel:Customer>
Welche Elemente enthält und Attribute ....
Welche, wenn ich zu JSON konvertieren gibt mir:
{"customermodel:Customer":{"id":"1","name":"Joe","age":"1","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","bankAccounts":{"testDate":"2006-10-23","testDecimal":"20.2","count":"0","testDateTime":"2006-10-23T22:15:01+08:00","bankAddressLine":["HSBC","London","31 florence","Swindon"],"testBoolean":"true","bankName":"HSBC","accountNo":"10","xsi:type":"customermodel:BankAccount","testTime":"22:15:01+08:00"},"xmlns:personal":"http://customermodel/personal","xmlns:customermodel":"http://customermodel"}}
Also dann senden i Dies ist auch der Client .. der zu einem js-Objekt (oder was auch immer) konvertiert, einige Werte (die Elemente) bearbeitet und sie dann zurück an den Server sendet.
So bekomme ich die JSON-String, und wandeln diese zurück in XML:
<customermodel:Customer>
<id>1</id>
<age>1</age>
<name>Joe</name>
<xmlns:xsi>http://www.w3.org/2001/XMLSchema-instance</xmlns:xsi>
<bankAccounts>
<testDate>2006-10-23</testDate>
<testDecimal>20.2</testDecimal>
<testDateTime>2006-10-23T22:15:01+08:00</testDateTime>
<count>0</count>
<bankAddressLine>HSBC</bankAddressLine>
<bankAddressLine>London</bankAddressLine>
<bankAddressLine>31 florence</bankAddressLine>
<bankAddressLine>Swindon</bankAddressLine>
<accountNo>10</accountNo>
<bankName>HSBC</bankName>
<testBoolean>true</testBoolean>
<xsi:type>customermodel:BankAccount</xsi:type>
<testTime>22:15:01+08:00</testTime>
</bankAccounts>
<xmlns:personal>http://customermodel/personal</xmlns:personal>
<xmlns:customermodel>http://customermodel</xmlns:customermodel>
</customermodel:Customer>
Und es gibt das Problem, ist offenbar nicht den Unterschied zwischen den Elementen wissen/Attribute, so kann ich nicht überprüfen gegen ein XSD, um dies zu überprüfen, ist jetzt gültig?
Gibt es dafür eine Lösung?
Ich kann nicht der Erste sein, der dieses Problem hat?
Ich weiß es nicht die beste, und habe darauf hingewiesen .. aber es ist notwendig, Kästchen ankreuzen. Ich denke, ich könnte den Serializer zu asd $ zu Attributnamen erweitern, dann ändern Sie den Serializer (zurück zu xml), um es basierend auf $ = Attribute zu analysieren. – joe90
Welche Form auch immer Sie haben, die Dinge zu beachten sind: 1) Stellen Sie sicher, dass die Kennungen nicht in der XML verwendet werden, 2) testen, testen, testen! :) –