Javascript 从webservice返回单个json对象的数组

Javascript 从webservice返回单个json对象的数组,javascript,json,vb.net,web-services,Javascript,Json,Vb.net,Web Services,我正在从Web服务检索json,并使用$.each()遍历层次结构。我的问题是“标题”,可能有一个或多个标题。我如何强制“Titles”返回一个对象数组,即使集合中只有一个对象,所以$.each()不会爆炸 “VB Web服务…”。。。 ds.DataSetName=“dsSurveys” ds.Tables(0).TableName=“调查” ds.Tables(1).TableName=“Titles” ds.Tables(2.TableName=“问题” ds.Tables(3.Table

我正在从Web服务检索json,并使用$.each()遍历层次结构。我的问题是“标题”,可能有一个或多个标题。我如何强制“Titles”返回一个对象数组,即使集合中只有一个对象,所以$.each()不会爆炸

“VB Web服务…”。。。
ds.DataSetName=“dsSurveys”
ds.Tables(0).TableName=“调查”
ds.Tables(1).TableName=“Titles”
ds.Tables(2.TableName=“问题”
ds.Tables(3.TableName=“responseType”
Dim relSurveyTitles作为新的数据关系(“relSurveyTitles”、ds.表格(“SurveyId”)、ds.表格(“标题”).表格(“SurveyId”))
将relTitlesQuestions作为新的数据关系(“relTitlesQuestions”、ds.表格(“标题”).列(“标题ID”)、ds.表格(“问题”).列(“标题ID”)进行标注
将relResponseTypesQuestions作为新的数据关系(“relResponseTypesQuestions”、ds.Tables(“ResponseTypes”).Columns(“ResponseTypeId”)、ds.Tables(“Questions”).Columns(“ResponseTypeId”)进行调整
relsurveytiles.Nested=True
relTitlesQuestions.Nested=True
relResponseTypesQuestions.Nested=False
ds.Relations.Add(relsurveytles)
ds.Relations.Add(relTitlesQuestions)
ds.Relations.Add(relResponseTypesQuestions)
Dim doc作为新的XmlDocument()
doc.LoadXml(ds.GetXml())
Dim jsonText As String=JsonConvert.SerializeXmlNode(doc).Replace(“空”、“空”).Replace(“空”、“空”)
返回jsonText
//json响应
{
“dsSurveys”:{
“调查”:{
“调查ID”:“1”,
“调查名称”:“调查1”,
“标题”:{//我希望在数组中看到它(如“问题”)-->“标题”:[{
//无对象计数
“调查ID”:“1”,
“TitleId”:“1”,
“标题名称”:“标题1”,
“问题”:[{
“调查ID”:“1”,
“TitleId”:“1”,
“问题ID”:“1”,
“问题”:“问题1?”,
“isComment”:“true”,
“ResponseTypeId”:“1”
},
{
“调查ID”:“1”,
“TitleId”:“1”,
“问题ID”:“2”,
“问题”:“问题2?”,
“isComment”:“true”,
“ResponseTypeId”:“1”
}]
}
},
“响应类型”:{
“ResponseTypeId”:“1”,
“响应类型”:“是|否|不适用”
}
}
}
看看,通过添加
json:array='true'
属性(其中json名称空间为
http://james.newtonking.com/projects/json
)到
节点

您可以使用以下方式添加适当的属性:

Dim doc作为新的XmlDocument()
doc.LoadXml(ds.GetXml())
'将命名空间声明添加到根节点
Dim nsAttr=doc.CreateAttribute(“xmlns”、“json”、”http://www.w3.org/2000/xmlns/")
nsAttr.Value=”http://james.newtonking.com/projects/json"
doc.DocumentElement.Attributes.Append(nsAttr)
'将json:Array属性添加到每个Titles元素
对于doc.SelectNodes(//Titles)中作为XmlElement的每个标题
Dim attr=doc.CreateAttribute(“json:Array”http://james.newtonking.com/projects/json")
attr.Value=“true”
title.Attributes.Append(attr)
下一个
Dim jsonText As String=JsonConvert.SerializeXmlNode(doc).Replace(“空”、“空”).Replace(“空”、“空”)
返回jsonText

标题
上运行
对象。键
。这将返回
标题
对象上存在的属性键数组。您可以使用
标题[key]
访问对象属性。谢谢!正是我要找的。