MVC C#.Net with JSON

本文关键字:JSON with Net MVC | 更新日期: 2023-09-27 17:59:14

我是JSON的初学者。我的困惑是,为什么我们使用JSON,而不是在MVC中使用Java Script/JQuery从后端获取和显示数据。

我希望你的回答能使我从困惑中解脱出来。

MVC C#.Net with JSON

并不是每个人都在追求JSON。但是他们有很多。mvc中有两种呈现视图的方式,一种是模型绑定,另一种是使用api并通过Javascript呈现元素。前者涉及到服务器资源的使用,而后者只需通过服务器进行数据库操作。元素的渲染是在客户端的机器上完成的。因此,它可以提供更好的性能并最大限度地减少服务器使用。但这种性能的提高是有代价的。

像谷歌这样的搜索引擎不鼓励第二种方法,因为它们很难呈现完整的视图。同样,仅Ajax的网站不能提供良好的用户体验。随着技术堆栈和服务器性能的提高,性能不再是一个关键问题。

其他因素还有安全性。如果您正在处理api数据以呈现元素,则您的安全性可能会受到损害,因为恶意用户可以更改代码并查看不适合他们的内容。

但是,如果您不关心SEO并谨慎地实现Ajax,那么采用第二种方法也没有害处。

JSON非常擅长在字符串中建模对象。这允许您轻松地表示强类型对象,并通过POST数据通过HTTP传递它们。

比方说,在C#中,您有一个作业控制器。

它有一种叫做的方法

void Create(Job job)
{
    db.Jobs.Add(job);
    db.SaveChanges();
}

Job poco类看起来是这样的。

public class Job
{
  public int Id {get;set;}
  public string Name {get;set;}
  public bool IsActive {get;set;}
}

您可以很容易地将值写入JSON中的这个或任何对象。在javascript中,您可以将值设置为变量

var job = { 
   id: 23,
   name: 'Programming Job',
   isActive: true
};

您可以将其转换为字符串,为类似这样的ajax文章做准备。

var postData = JSON.stringify(job);

当您POST到您的控制器时,JSON将自动映射到您的C#作业类,即使有不同的外壳。

允许您执行

void创建(作业作业)

串行化在后端和前端之间的工作速度更快、更简单。

后端只处理从数据库中获取数据。然后客户端处理该数据的显示。

假设你打电话给一个朋友,让他帮忙做蛋糕。你有原料,但不知道怎么做。你是希望你的朋友让你去他家,这样他就可以帮你做蛋糕,还是希望他在电话里告诉你自己做蛋糕的方向?

我不确定我的例子是否完全准确:p