我正在尝试在服务器端创建等同于以下数据的 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 的类。
谢谢, 斯里达尔。
最佳答案
请记住,在 Javascript 中没有类的概念,只有对象。这也适用于 JSON。看看这个:
{"Employee" :
{
"EmployeeID":"1",
"FirstName":"Sridhar",
etc...
}
}
如果您查看第一行,“Employee”符号对 JSON 完全没有任何作用。请记住,我们只处理对象。
正如您所说,这就是为什么它起作用的原因。
[
{"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 将尝试将对象强制转换为该特定类。如果失败,您只会遇到问题 - 可能是因为变量丢失或类型错误。
关于javascript - 在客户端创建 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930534/