JSON posting, am i pushing JSON too far?

Posted by joe90 on Stack Overflow See other posts from Stack Overflow or by joe90
Published on 2009-03-31T14:51:40Z Indexed on 2010/04/03 6:13 UTC
Read the original article Hit count: 300

Filed under:

Im just wondering if I am pushing JSON too far? and if anyone has hit this before?

I have a xml file:

<?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>

Which contains elements and attributes....

Which when i convert to JSON gives me:

{"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"}}

So then i send this too the client.. which coverts to a js object (or whatever) edits some values (the elements) and then sends it back to the server.

So i get the JSON string, and convert this back into 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>

And there is the problem, is doesn't seem to know the difference between elements/attributes so i can not check against a XSD to check this is now valid?

Is there a solution to this?

I cannot be the first to hit this problem?

© Stack Overflow or respective owner

Related posts about JSON