c# - 我需要一种在 ASP.NET 网络表单中的控件中显示 JSON 和 XML 的方法
问题描述
因此,我正在使用 WebClient 类调用 Web API 网络服务。我的响应可以是 XML 或 JSON。有没有我可以使用的控件来很好地格式化响应,或者我需要编写例程来在需要的地方插入中断?现在我只是将响应字符串分配给一个 asp 文字。但是将它作为一个像这样的连续字符串看起来不太好: {"RateID":"USCA-SDSD-TOU5-0000","RateName":"TOU-A-2","RateType":"Time使用","Sector":"商业工农业","API_Url":"RateAPI.com","RatePlan_Url":"http://regarchive.sdge.com/tm2/pdf/ELEC_ELEC-SCHEDS_TOU-A2。 pdf","价格":0.1040900,"单位":"kWh"}
如果有一个控件可以识别 JSON 并在逗号后放置中断或格式化 XML,那就太好了。如果它对不同的元素进行了一些颜色编码,那上面就会有肉汁。如果我只需要开始编写代码来自己进行格式化,请告诉我。先感谢您。
解决方案
好吧,您可以将字符串作为转换后的对象扔到 .net 中的许多数据对象之一中
一旦您将数据“获取”到 .net 数据对象中,那么您真的不需要代码来呈现。
在 Web 表单上拖放网格视图。
将 DetailsView 拖放到 Web 表单上。
现在,我们显示数据的代码是这样的:
Sub MyFill()
Dim strExtra As String
strExtra = "{MyCoolRows: [" & TextBox1.Text & "]}"
Dim MyTable As New DataSet
MyTable = JsonConvert.DeserializeObject(Of DataSet)(strExtra)
GridView1.DataSource = MyTable
GridView1.DataBind()
DetailsView1.DataSource = MyTable
DetailsView1.DataBind()
End Sub
现在我将一个gridview 和一个details view 放到页面上。我认为细节视图效果很好。
上述 WEE 代码的结果是这样的:
看看上面 - 我认为gridview太宽了。
但是,对于几乎没有代码,没有任何设置或默认值的详细信息视图在这里并不是一件坏事。
同样的两个对象也可以很好地渲染xml。
(数据集有一个 loadxml - 所以代替 newtonsoft,您可以使用数据集对象的 loadxml - 然后再次将其推入 Details 视图对象。
所以,代码并不多 - 例如这个(在vb之上作为c#)
public void MyFill()
{
string strExtra;
strExtra = "{MyCoolRows: [" + TextBox1.Text + "]}";
DataSet MyTable = new DataSet();
MyTable = JsonConvert.DeserializeObject<DataSet>(strExtra);
GridView1.DataSource = MyTable;
GridView1.DataBind();
DetailsView1.DataSource = MyTable;
DetailsView1.DataBind();
}
推荐阅读
- javascript - 如何使用javascript在点击时更新对象值
- actions-on-google - 在 Google Action 中“跨对话”存储数据
- tfs - ##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube
- fish - 如何用 ] 替换文档中的最后一个字符?
- python - 将从 REST API 返回的响应转换为 CSV
- vb.net - 使 VB.Net 表单不可见时停止屏幕闪烁
- jenkins - 如何在 Jenkins 并行管道中使用 allure?
- java - JavaFX 应用程序类必须扩展 javafx.application.Application --> 即使有 main 方法,也会出现此错误
- java - Java - 如何仅使用 JVM Config 为某些协议禁用 TLS 密码?
- wordpress - 网站上所有页面的元标记“标题”