【问题标题】:Parsing javascript array to C# object list [duplicate]将javascript数组解析为C#对象列表[重复]
【发布时间】:2013-12-20 21:18:21
【问题描述】:

我从 webrequest 获取 Javascript 数组,需要将其转换/解析为 C# 对象以进行进一步处理。 .NET 库的任何建议或这需要通过正则表达式来完成?谢谢?

<script>
{
item = new Array();

item [0] = new Array();
item [0][0]='value01';
item [0][1]='value02';

item [1] = new Array();
item [1][0]='value10';
item [1][1]='value11';

item [2] = new Array();
item [2][0]='value10';
item [2][1]='value11';
}
</script>

我知道上面的代码看起来像 JSON,但是我将它作为接收到的 html 代码的一部分。因此我认为我需要用传统的方式来解析它。

【问题讨论】:

  • 一个 javascript 数组通常被写成一个叫做 'json' 的东西,看看有很多 .NET 的解析器
  • 你把它放在一个字符串里?你的字符串是什么样的?
  • 这就是数组的创建方式,但很可能这根本不是您接收它的方式。您可能以 JSON 格式接收它,在这种情况下,您需要为 c# 实现一个 JSON 解析器(有几个)。
  • 嗨,我不是以 JSON 格式获取它,而是从下载的 HTML 获取它。 javascript 数组用于呈现 HTML 表格中的数据。

标签: c# javascript arrays


【解决方案1】:

你可以试试 JSON.net (http://json.codeplex.com/)。您可以在 Visual Studio 中获取 nuget 包。

这是一个如何使用它的例子,取自官方网站:

string json = @"{
  'channel': {
    'title': 'James Newton-King',
    'link': 'http://james.newtonking.com',
    'description': 'James Newton-King's blog.',
    'item': [
      {
        'title': 'Json.NET 1.3 + New license + Now on CodePlex',
        'description': 'Annoucing the release of Json.NET 1.3, the MIT license and the source on CodePlex',
        'link': 'http://james.newtonking.com/projects/json-net.aspx',
        'category': [
          'Json.NET',
          'CodePlex'
        ]
      }
    ]
  }
}";

// LINQ to JSON
// ------------
JObject jObject = JObject.Parse(json);
string itemTitle2 = (string)jObject["channel"]["item"][0]["title"];

【讨论】:

  • 谢谢....但请阅读以上内容。脚本在下载的 HTML 中
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 2022-11-24
  • 2016-09-29
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 2014-12-02
相关资源
最近更新 更多