Преобразование пользовательских типов в формат JSON. СПИК

Рассмотрим преобразование некоторых типов C# и JavaScript в формат JSON

Тип C# Тип JS Значение C# Значение JS JSON
int Number 27 27 27
double Number -32.4 -32.4 -32.4
string String “hello world” “hello world” “hello world”
bool Boolean false false false
object Null null null null
object Undefined null undefined null
DateTime Date DateTime.Now new Date() “/Date(1381924406000+0400)/”


Рассмотрим аналогичные типы C# и JavaScript

 

C# JavaScript
var test = new TestClass 

SomeDateTime = DateTime.Now, 
SomeString = "hello", 
TestArray = new[] 

new AnotherTestClass 

SomeBool = true, 
SomeNumber = 0.26 
}, 
new AnotherTestClass 

SomeBool = false, 
SomeNumber = -45 

};
var test = { 
SomeDateTime: "/Date(" + new Date().getTime() 
+ ")/", 
SomeString: "hello", 
TestArray: [ 

SomeBool: true, 
SomeNumber: 0.26 
}, 

SomeBool: false, 
SomeNumber: -45 


};

 

Их представление в JSON будет выглядеть следующим образом: 


"SomeDateTime": "/Date(1381927385358)/", 
"SomeString": "hello", 
"TestArray": [{ 


"SomeBool": true, 
"SomeNumber": 0.26 

}, { 

"SomeBool": false, 
"SomeNumber": -45 

}] 
}
 
Обратите внимание! 
Форматы дат, читаемые и отправляемые сервером, различаются. Дата, принимаемая сервером, должна выглядеть следующим образом: 

"SomeDateTime": "/Date(1381927385358)/" 

Дата, отправляемая сервером, имеет такой вид: 

"SomeDateTime": "\/Date(1381941785358+0400)\/"