我如何 [简单地] 在业务线 Web 应用程序中使用 JSON 数据
Posted
技术标签:
【中文标题】我如何 [简单地] 在业务线 Web 应用程序中使用 JSON 数据【英文标题】:How can I [simply] consume JSON Data in a Line of Business Web Application 【发布时间】:2011-02-10 17:25:39 【问题描述】:我通常使用带有 jQuery 的 JSON 来返回一个带有 html 的字符串。但是,我想开始在我的代码中使用 javascript 对象。
在我的页面上开始使用 json 对象的最简单方法是什么?
这是一个示例 Ajax 调用(当然是在 $(document).ready( ... )
之后:
$('#btn').click(function(event)
event.preventDefault();
var out = $('#result');
$.ajax( url: "CustomerServices.asmx/GetCustomersByInvoiceCount",
success: function(msg)
//
// Iterate through the json results and spit them out to a page?
//
,
data: " 'invoiceCount' : 100 "
);
);
我的网络方法:
[WebMethod(Description="Gets customers with more than n invoices")]
public List<Customer> GetCustomersByInvoiceCount(int? invoiceCount)
using (dbDataContext db = new dbDataContext())
return db.Customers.Where(c => c.InvoiceCount >= invoiceCount);
返回什么:
"d":["__type":"Customer","Account":"1116317","Name":"SOME COMPANY","Address":"UNit 1 , 392 JOHN ST. ","LastTransaction":"\/Date(1268294400000)\/","HighestBalance":13922.34,"__type":"Customer","Account":"1116318","Name":"ANOTHER COMPANY","Address":"UNIT #345 , 392 JOHN ST. ","LastTransaction":"\/Date(1265097600000)\/","HighestBalance":549.42]
我想知道的是,人们通常用这个返回的 json 做什么?您是否遍历属性并动态创建 html 表?
有没有办法使用 javascript 版本的反射(类似于 .Net GridView 控件)“绑定”JSON 数据
您是否将返回的数据放入 Javascript 对象中,然后对其进行处理?
我想要实现的一个示例是拥有一个普通的 html 页面(在移动设备上),其中包含销售人员的客户列表。当其中一个客户被点击时,客户 ID 会被发送到 Web 服务,该服务会检索与销售人员相关的客户详细信息。
我知道 SO 人才库非常丰富,所以我认为在座的各位能够指导正确的方向,并就解决此问题的最佳方法给我一些想法。
【问题讨论】:
【参考方案1】:我建议您查看可用的各种客户端模板解决方案。甚至还有关于与下一个 jQuery 版本 here 集成的讨论。
我更喜欢jTemplate,因为它简单且体积小。但还有其他人。如果您想查看它的实际效果,请查看我们的客户网站之一here。 我们发现它甚至可以很好地扩展到大量行 (>1000)。
【讨论】:
感谢您的示例网站!看起来您也绑定到 WCF 服务。比起 SOAP,您更喜欢它们? 实际上同样的 WCF 服务也暴露了一个 SOAP/XML 端点。但这仅适用于后台服务。前端的流量开销非常大(10 倍)。由于我们每小时运行 100k+ 个请求,这简直无法忍受,而且在 jquery 中处理 rest + json 更简单。我们肯定会以这种方式再做一次。 有趣。老实说,我一直在考虑改用 WCF,但我还没有花时间去了解 WCF。 我绝对建议您看一下,只要您掌握了窍门,就可以通过简单地修改端点配置来更改格式。老实说,要让 REST 接口正常工作,必须在代码中添加一些额外的属性,但这在 .NET 4 中变得更加直观,同时 WCF 的配置问题也随着良好的跟踪能力而大大减少。跨度>以上是关于我如何 [简单地] 在业务线 Web 应用程序中使用 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 中使 TimeWithZone 对象变得惰性
如何在使用 Angular 7 和 Spring Boot 构建的 Web 应用程序中使浏览器缓存无效