【发布时间】:2016-02-15 14:01:18
【问题描述】:
这是我的 json 字符串
var people = '{"Id": 101020001 , "Title": "subsidary","Id": 103010001 , "Title": "LOAN FROM BANK ?","Id": 104010001 , "Title": "FAWAD","Id": 104010002 , "Title": "GETING","Id": 104010003}
我把它构建成
string MyDictionaryToJson(Dictionary<int, string > dict)
{
var entries = dict.Select(d =>
string.Format("\"Id\": {0} , \"Title\": \"{1}\"", d.Key, string.Join(",", d.Value)));
return "{" + string.Join(",", entries) + "}";
}
但我想填充剑道网格,所以不知道 ID 我想要这样
"{"Id":"101020001" , "Title":"titlesubsidary"},{"Id":"101020002" , "Title":"titlenext"}, {"Id":"101020003" , "Title":"titleagain"}
剑道组合框
var people = '<%=jsonS %>'
$('#Text1').kendoComboBox({
dataTextField: 'Title',
dataValueField: 'Id',
template: "<table><tr><td width='100px'>${ Id}</td><td width='100px'>${ Title }</td></tr></table>",
dataSource: { data: people }
});
error:ReferenceError: Id 未定义
【问题讨论】:
-
因为您的 JSON 无效。使用 JSON.NET 创建 JSON
-
不要尝试手动创建 json ......正如你的无效输出所见证的那样,它太容易出错
-
我同意上面的陈述,你应该使用某种类型的序列化库,还有一点需要注意的是,你在 javascript 中将 Id 作为你的 dataValueField,但该属性称为 ID,且 D 大写。跨度>
-
现在我已经更改了字符串格式,并且大写仍然说 id 缺少如何处理该 json 来实现 id
标签: javascript c# .net json kendo-ui