对于配置JSON 文本分析器说明

开发
本文主要讲述JSON 文本的使用,怎样创建Visual Studio 2010 Ultimate Beta 2项目。这些内容都是一些门户网站和技术论坛找到的,中间可能有不少错误是我没有挑出的,欢迎大家指正。

我们已经介绍了如何在JSON 文本中、以及通过 Jayrock 在 .NET Framework 中使用 JSON,接下来我们来看一个关于在何处以及如何应用这些知识的实际示例。考虑 ASP.NET 2.0 的客户端脚本回调功能。

它可简化 web 浏览器向 ASP.NET 页面(或向页面中的特定控件)发出带外调用的过程。在典型的回调情形中,浏览器中的客户端脚本将数据打包并回送到 web 服务器,由服务器端方法进行某些处理。从服务器收到响应数据后,客户端会用它来更新浏览器显示。

以下示例代码使用 JsonTextReader 类,对包含七大洲名称的字符串数组的 JSON 文本表示形式进行分析。每个以字母“A”开头的洲会发送到控制台:注意Jayrock 中的 JsonTextReader 类是一个非常自由的 JSON 文本分析器。

它实际上允许的语法要比 RFC 4627 中列出的规则所规定的有效 JSON 文本多得多。例如,就象在 JavaScript 中一样,JsonTextReader 类允许单行和多行注释出现在 JSON 文本内。单行注释以双斜杠 (//) 开头,多行注释以斜杠星号 (/*) 开头,并以星号斜杠 (*/) 结尾。单行注释甚至能以井字号 (#) 开头。

这在 Unix 样式的配置文件中十分常见。在所有实例中,分析器会完全跳过注释,不会通过 API 公开。和在 JavaScript 中一样,JsonTextReader 允许以撇号 (') 分隔 JSON 字符串。该分析器甚至可以容忍最后一个对象成员或者数组元素后面多余的逗号。#t#

即使具备所有这些附加内容,JsonTextReader 仍是符合标准的分析器!而 JsonTextWriter 则只能产生严格符合标准的 JSON 文本。这遵循了通常所说的可靠性原则,即“严以律己,宽以待人”。

要将 JSON 文本直接转换为 .NET 对象,请使用 JsonConvert 类导入方法,指定输出类型和 JSON 文本。以下示例显示了从 JSON 字符串数组到 .NET 字符串数组的转换:

  1. stringjsonText=@"["Europe","Asia","Australia","Antarctica",  
  2. "NorthAmerica","SouthAmerica","Africa"]";  
  3. using(JsonTextReaderreader=newJsonTextReader(new  
  4. StringReader(jsonText)))  
  5. {  
  6. while(reader.Read())  
  7. {  
  8. if(reader.TokenClass==JsonTokenClass.String&  
  9. reader.Text.StartsWith("A"))  
  10. {  
  11. Console.WriteLine(reader.Text);  
  12. }  
  13. }  
责任编辑:chenqingxiang 来源: 电子工业出版社
相关推荐

2019-11-06 16:40:31

awkLinux文本分析工具

2020-07-07 10:50:19

Python丄则表达文本

2019-03-21 14:30:15

Linux文本分析命令

2009-12-22 15:08:46

ADO控件

2017-04-27 08:54:54

Python文本分析网络

2016-12-23 10:56:34

linuxshellawk

2010-11-09 14:06:47

SQL Server查

2020-02-24 09:25:33

代码开发工具

2021-03-06 07:00:00

awk文本分析工具Linux

2022-10-09 08:00:00

机器学习文本分类算法

2022-12-08 15:25:10

Clang分析工具CSA

2023-11-28 15:18:24

Python

2010-02-05 16:21:02

Android导航

2009-12-07 17:46:52

WCF框架

2011-07-26 10:27:07

分析器操作系统服务器

2010-09-02 09:15:33

协议分析器Wi-Fi

2009-03-03 09:56:00

协议分析器WLAN

2017-04-29 10:37:23

2017-05-16 13:55:57

2009-05-06 17:31:17

SQL EnlightT-SQL分析器
点赞
收藏

51CTO技术栈公众号