csharp:.net 3.5 using System.Runtime.Serialization.Json read json

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

using
System;

using
System.Collections.Generic;

using
System.Linq;

using
System.Web;

using
System.Web.UI;

using
System.Web.UI.WebControls;

//<a href="http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractattribute.aspx">http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractattribute.aspx</a>

//using System.Web.Script.Serialization;

using
System.Text;

using
System.IO;

using
System.Runtime;

using
System.Runtime.Serialization;// 添加 System.Runtime.Serialization

using
System.Runtime.Serialization.Json;//添加 System.ServiceModel和System.ServiceModel.Web的引用

using
System.Xml;

using
System.Runtime.Serialization.Formatters;

namespace
JsonNetDemo

{

    public
partial class WebForm1 : System.Web.UI.Page

    {

        string
dataString = string.Empty;

        

        /// <summary>

        ///

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected
void Page_Load(object
sender, EventArgs e)

        {

        }

        /// <summary>

        /// 对象转化为JSON字符串

        /// http://www.cnblogs.com/coderzh/archive/2008/11/25/1340862.html

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected
void Button1_Click(object
sender, EventArgs e)

        {

            var
config = new
JsonConfig()

            {

                encoding = "UTF-8",

                plugins = new
string[] { "Java", "C++", "C#"
},

                indent = new
Indent() { length = 4, use_space = false
}

            };

            var
serializer = new
DataContractJsonSerializer(typeof(JsonConfig));

            var
stream = new
MemoryStream();

            serializer.WriteObject(stream, config);

            byte[] dataBytes = new
byte[stream.Length];

            stream.Position = 0;

            stream.Read(dataBytes, 0, (int)stream.Length);

            dataString = Encoding.UTF8.GetString(dataBytes);

            Response.Write("JSON string is:");

            Response.Write(dataString);

        }

        /// <summary>

        /// JSON字符串转对象

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected
void Button2_Click(object
sender, EventArgs e)

        {

            var
config = new
JsonConfig()

            {

                encoding = "UTF-8",

                plugins = new
string[] { "Java", "C++", "C#"
},

                indent = new
Indent() { length = 4, use_space = false
}

            };

            var
serializer = new
DataContractJsonSerializer(typeof(JsonConfig));

            var
stream = new
MemoryStream();

            serializer.WriteObject(stream, config);

            byte[] dataBytes = new
byte[stream.Length];

            stream.Position = 0;

            stream.Read(dataBytes, 0, (int)stream.Length);

            dataString = Encoding.UTF8.GetString(dataBytes);

            //var serializer = new DataContractJsonSerializer(typeof(JsonConfig));

            var
mStream = new
MemoryStream(Encoding.Default.GetBytes(dataString));

            JsonConfig readConfig = (JsonConfig)serializer.ReadObject(mStream);

            Response.Write(string.Format("Encoding is: {0}", readConfig.encoding));

            foreach
(string
plugin in
readConfig.plugins)

            {

                Response.Write(string.Format("plugins is: {0}", plugin));

            }

            Response.Write(string.Format("indent.length is: {0}", readConfig.indent.length));

            Response.Write(string.Format("indent.use_space is: {0}", readConfig.indent.use_space));

        }

    }

    [DataContract(Name = "Customer", Namespace = "JsonNetDemo")]

    class
JsonConfig

    {

        [DataMember(Order = 0)]

        public
string encoding { get; set; }

        [DataMember(Order = 1)]

        public
string[] plugins { get; set; }

        [DataMember(Order = 2)]

        public
Indent indent { get; set; }

    }

    [DataContract(Name = "Customer", Namespace = "JsonNetDemo")]

    class
Indent

    {

        [DataMember(Order = 0)]

        public
int length { get; set; }

        [DataMember(Order = 1)]

        public
bool use_space { get; set; }

    }

}

csharp:.net 3.5 using System.Runtime.Serialization.Json read
json

时间: 2024-08-25 01:31:37

csharp:.net 3.5 using System.Runtime.Serialization.Json read json的相关文章

重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)”时违反了继承安全性规则

在.NET 4.0下使用最新版本的log4Net 1.2.10,会遇到下面这样的错误: 重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)”时违反了继承安全性规则.重写方法的安全可访问性必须与所重写方法的安全可访问性 匹配. 说明: 执行当

找不到System.Runtime.Serialization.Json的解决方案

System.ServiceModel System.ServiceModel.Web System.Runtime.Serialization 三者均要添加引用

System.Runtime.Serialization.SerializationException”类型的未经处理的异常在 System.Runtime.Serialization.dll 中发生

异常信息: “System.Runtime.Serialization.SerializationException”类型的未经处理的异常在 System.Runtime.Serialization.dll 中发生 其他信息: 不应为数据协定名称为“Teacher:http://schemas.datacontract.org/2004/07/ConsoleApplication3”的类型“ConsoleApplication3.Teacher”.请考虑使用 DataContractResolv

System.Runtime.Serialization.cs

ylbtech-System.Runtime.Serialization.cs 允许对象控制其自己的序列化和反序列化过程. 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\msco

System.Runtime.Serialization.ISerialization.cs

ylbtech-System.Runtime.Serialization.ISerialization.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.

System.Runtime.Serialization.IFormatterConverter.cs

ylbtech-System.Runtime.Serialization.IFormatterConverter.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\msco

System.Runtime.Serialezation.StreamingContext.cs

ylbtech-System.Runtime.Serialezation.StreamingContext.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorli

System.Runtime.Serialezation.SerialezationInfo.cs

ylbtech-System.Runtime.Serialezation.SerialezationInfo.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorl

System.Runtime.Serialezation.StreamingContextState.cs

ylbtech-System.Runtime.Serialezation.StreamingContextState.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\ms