【发布时间】:2012-08-21 06:34:41
【问题描述】:
我正在通过以下方式进行投影:
var query = from book in books
select new
{
label = book.Title,
value = book.ID
};
在我的剃须刀页面中我需要使用:
var booksArray = [{
@(json)
}];
使得结果数组看起来像:
label: 'c++',
value: 'c++'
}, {
label: 'java',
value: 'java'
}, {
label: 'php',
value: 'php'
}, {
label: 'coldfusion',
value: 'coldfusion'
}
我已经通过几种不同的方法非常接近 - 我可以获得一个在服务器端看起来正确的字符串,但是当呈现到页面本身时,所有 ' 标记都变为 ' 。
但专注于通过 JSON.net 实现这一目标......
最可能的方法似乎应该是:
var json = JsonConvert.ToString(query);
但那会折腾:
Unsupported type: System.Linq.Enumerable+WhereSelectListIterator`2[Project.Entity.Book,<>f__AnonymousType3`2[System.String,System.Int32]]. Use the JsonSerializer class to get the object's JSON representation.
什么是正确的 JSON.net 语法?
谢谢
【问题讨论】:
标签: asp.net-mvc json razor json.net