返回带有对象模型的 JSON 或带有解析视图的 JSON
Posted
技术标签:
【中文标题】返回带有对象模型的 JSON 或带有解析视图的 JSON【英文标题】:Return JSON with object model or JSON with parsed view 【发布时间】:2014-04-01 21:21:48 【问题描述】:我正在创建包含大量 AJAX 逻辑的网站。我开始想知道我是否应该返回带有对象模型的 JSON(因为我必须发出一些请求,然后替换/插入一些 html 节点作为响应),例如:
'Author' : 'Name@Surname', 'Email': 'some@email', 'listOfSomething' = [...], ... //very advanced JSON
然后使用一些js模板引擎解析我的对象并插入到DOM中的正确位置
或
返回带有解析剃须刀模板的 JSON,例如:
listOfSomething: [id:0, parsedView:ASP.NET.ParseViewWithModel(MyModel[0]),id:1, parsedView:ASP.NET.ParseViewWithModel(MyModel[1]), ... ]
第二选择的优点是它需要的逻辑要少得多。应该使用哪种方法以及何时使用?第二种方法可能是好的解决方案吗?
【问题讨论】:
【参考方案1】:如果返回的内容只在一个地方使用,那么我会说选项二是一种很好的方法,因为您可以专门针对将要使用它的地方定制 HTML,而您所要做的就是简单地注入它进入 DOM。
否则,如果在多个地方使用 AJAX 返回的内容,那么我会坚持返回 JSON 并让每个客户端对原始数据执行所需的操作。
另外,如果第三方开发者正在使用它,那么 JSON 绝对是要走的路。
【讨论】:
以上是关于返回带有对象模型的 JSON 或带有解析视图的 JSON的主要内容,如果未能解决你的问题,请参考以下文章
使用 HttpContent.ReadAsAsync<T> 解析带有一个对象或数组的响应
无法使用带有 Django 的 MongoEngine Pymongo 返回 JSON 对象?