views:

34

answers:

1

DataContractJsonSerializer this is nice class added in the .net framework which can be used to serialize/desirealize object into JSON.

Now following is the example i am trying

[Serializable] class User { public string name;     public string userId; }

Now following is the output generated

Output : Notice structure where only "name" is expected instead of k__BackingField

Now this is the problem after digging so much i am not sure from where <> and _BackingField is coming ?

{
"<name>k__BackingField":"test user",
"<userId>k__BackingField":100001}
+1  A: 

This is just an educated guess. I think it's because you're using public fields instead of properties for name and userid.

Edit: It appears it also has to do with the fact that you are using the [Serializable] attribute instead of [DataContract] and [DataMember]. Check out this post for more detail:

http://stackoverflow.com/questions/945585/c-automatic-property-deserialization-of-json

Rob Windsor
Thanks for answering ........ i figured out that the C# 3.0's implicit properties causing it as compiler adds code for doing that. This is getting reflected when serialization takes place.
Anil Namde