我正在尝试创建与服务器端的以下数据等效的JSON字符串/对象。有人可以帮忙吗?
Public Shared Function GetData() As List(Of Employee)
Dim list As New List(Of Employee)()
Dim newEmployee As New Employee()
newEmployee.EmployeeID = "1"
newEmployee.FirstName = "Sridhar"
newEmployee.Title = "Programmer"
newEmployee.BirthDate = "8/10/1979"
newEmployee.TitleOfCourtesy = "Programmer"
list.Add(newEmployee)
Return list
End Function
Employee是一个具有EmployeeId,FirstName,Title,Birthdate,TitleOfCourtesy属性的类。
谢谢, 斯里达尔。
答案 0 :(得分:2)
请记住,在Javascript中没有类的概念,只有对象。这也延续到了JSON。看看这个:
{"Employee" :
{
"EmployeeID":"1",
"FirstName":"Sridhar",
etc...
}
}
如果查看第一行,“Employee”符号对JSON完全没有任何作用。请记住,我们只处理ONLY对象。
这就像你说的那样有效。
[
{"EmployeeID":1,
"LastName":"Duggireddy",
"FirstName":"Sridhar",
"Title":"Programmer",
"TitleOfCourtesy":"Programmer",
"BirthDate":new Date(303091200000)}
]
要以编程方式进行此操作,请声明您的员工对象,然后将它们添加到数组中,如下所示:
var employees = [];
employees.push(employee1); // you would use a loop, of course
employees.push(employee2);
...
var jsonString = parser.toJSON(employees); // or whatever you use.
那会给你一个对象列表。始终忽略JSON中的类...反序列化期间的.NET将尝试将对象强制转换为该特定类。如果失败,您只会遇到问题 - 可能是因为变量缺失或类型错误。
答案 1 :(得分:0)
看起来像
{"Employee" :
{
"EmployeeID":"1",
"FirstName":"Sridhar",
etc...
}
}
我相信JSON中的多个Employee实例看起来像这样:
{"Employee" :
{
"EmployeeID":"1",
"FirstName":"Sridhar",
etc...
},
{
"EmployeeID":"2",
"FirstName":"Joe",
etc...
}
}
也许这就是你需要的东西?
答案 2 :(得分:0)
为什么不使用JSON.NET并让它为您处理编码/解码?
答案 3 :(得分:0)
JSON有一个很好的jQuery插件。它允许您非常轻松地从JavaScript对象转到JSON。