GVKun编程网logo

Fastjson的SerializerFeature序列化属性(fastjson 序列化)

19

本文将为您提供关于Fastjson的SerializerFeature序列化属性的详细介绍,我们还将为您解释fastjson序列化的相关知识,同时,我们还将为您提供关于.net3.5DataContr

本文将为您提供关于Fastjson的SerializerFeature序列化属性的详细介绍,我们还将为您解释fastjson 序列化的相关知识,同时,我们还将为您提供关于.net 3.5 DataContractJsonSerializer序列化及反序列化二(json格式化)、Atitit php序列化 php的serialize序列化和json序列化、Atitit php序列化 php的serialize序列化和json序列化 - attilaxAti、c# – Json DateTime序列化在DataContractJsonSerializer和System.Json中是不同的的实用信息。

本文目录一览:

Fastjson的SerializerFeature序列化属性(fastjson 序列化)

Fastjson的SerializerFeature序列化属性(fastjson 序列化)

DisableCheckSpecialChar:一个对象的字符串属性中如果有特殊字符如双引号,将会在转成json时带有反斜杠转移符。如果不需要转义,可以使用这个属性。默认为false QuoteFieldNames----------输出key时是否使用双引号,默认为true WriteMapNullValue--------是否输出值为null的字段,默认为false WriteNullNumberAsZero----数值字段如果为null,输出为0,而非null WriteNullListAsEmpty-----List字段如果为null,输出为[],而非null WriteNullStringAsEmpty---字符类型字段如果为null,输出为"",而非null WriteNullBooleanAsFalse--Boolean字段如果为null,输出为false,而非null

大家用到了别的,也拜托告诉我~

.net 3.5 DataContractJsonSerializer序列化及反序列化二(json格式化)

.net 3.5 DataContractJsonSerializer序列化及反序列化二(json格式化)

一,将类格式化成字符串

Testcps block = new Testcps();
_Info result = new _Info();
result._State = "0";
result._Message = "0";
block.result = result;
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Testcps));
MemoryStream stram = new MemoryStream();
serializer.WriteObject(stram,block);
byte[] data = new byte[stram.Length];
stram.Position = 0;
stram.Read(data,(int)stram.Length);
string jsonString = Encoding.UTF8.GetString(data);

jsonString 就是json格式的字符串

Testcps 类定义如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GetYJData
{

[Serializable]
public class Testcps
{
private _Info Result;

public _Info result
{
get { return Result; }
set { Result = value; }
}
}
[Serializable]
public class _Info
{
private string State="0";
public string _State
{
get { return State; }
set { State = value; }
}
private string Message="输出信息";
public string _Message
{
get { return Message; }
set { Message = value; }
}
}
}

二,将字符串转化成类

string strdata = "{\"Result\":{\"State\":\"0\",\"Message\":\"填写验证失败时的出错提示\"}}";
var ser = new DataContractJsonSerializer(typeof(Testcps));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(strdata));
Testcps cpsData = (Testcps)ser.Readobject(ms);
string str1 = cpsData.result._Message;
string str2 = cpsData.result._State;

--------多条数据情况,即某个属性值为数组-------

string strdata="{\"result\":[{\"PlatformID\":\"11028\",\"UID\":\"100\",\"GameID\":\"1274\",\"UserName\":\"tkillerrt\",\"AddDate\":\"2011-12-13 23:59:59\",\"Amount\":\"10.0\",\"Units\":\"Y\"ItemNo\":\"13237915222477247\",\"AddWay\":\"\",\"CardNo\":\"\"}]}";

var ser = new DataContractJsonSerializer(typeof(_BaiduRegUserArr));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(strdata));
_BaiduRegUserArr cpsDataArr = (_BaiduRegUserArr)ser.Readobject(ms);
if (cpsDataArr != null)
{
for (int i = 0; i < cpsDataArr.Result.Length; i++)
{
_BaiduRegUser model = cpsDataArr.Result[i];
}
}

BaiduRegUserArr类定义如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GetYJData
{
[Serializable]
public class _BaiduRegUserArr
{
private _BaiduRegUser[] result;

public _BaiduRegUser[] Result
{
get { return result; }
set { result = value; }
}
}


[Serializable]
public class _BaiduRegUser
{

//[{,"RegDate":"2011-12-13 16:01:00","ServerName":"","RegIP":"","CardNo":""}]
private string PlatformID;

public string PlatformID1
{
get { return PlatformID; }
set { PlatformID = value; }
}

private string GameID;

public string GameID1
{
get { return GameID; }
set { GameID = value; }
}

private string RegDate;

public string RegDate1
{
get { return RegDate; }
set { RegDate = value; }
}

private string UserName;

public string UserName1
{
get { return UserName; }
set { UserName = value; }
}

private string UID;

public string UID1
{
get { return UID; }
set { UID = value; }
}

private string ServerName;

public string ServerName1
{
get { return ServerName; }
set { ServerName = value; }
}

private string RegIP;

public string RegIP1
{
get { return RegIP; }
set { RegIP = value; }
}

private string CardNo;

public string CardNo1
{
get { return CardNo; }
set { CardNo = value; }
}
}

}

Atitit php序列化 php的serialize序列化和json序列化

Atitit php序列化 php的serialize序列化和json序列化

atitit php序列化 phpserialize序列化json序列化

 

立即学习“PHP免费学习笔记(深入)”;

 

立即学习“PHP免费学习笔记(深入)”;

PHP 对不同类型的数据用不同的字母进行标示,Yahoo 开发网站提供的Using Serialized PHP withYahoo! Web Services 一文中给出所有的字母标示及其含义:a - arrayb - booleand - doublei - integero - common objectr - references - stringC - custom objectO - classN - nullR - pointer referenceU - unicode stringN 表示的是NULL,而bdi

 

立即学习“PHP免费学习笔记(深入)”;

作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

立即学习“PHP免费学习笔记(深入)”;

4.1.数组的序列化数组(array)通常被序列化为:a::{...}其中表示数组元素的个数,……表示数组下标,2>……表示与下标相对应的数组元素的值。下标的类型只能是整型或者字符串型,序列化后的格式跟整型和字符串型数据序列化后的格式相同。数组元素值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。4.2.对象的序列化对象(object)通常被序列化为:O::""::{2>...}其中表示对象的类名的字符串长度。表示对象中的字段1个数。这些字段包括在对象所在类及其祖先类中用varpublicprotected private 声明的字段,但是不包括static const 声明的静态字段。也就是说只有实例(instance)字段。……表示每个字段的字段名,而……则表示与字段名所对应的字段值。字段名是字符串型,序列化后格式与字符串型数据序列化后的格式相同。字段值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。但字段名的序列化与它们声明的可见性是有关的,下面重点讨论一下关于字段名的序列化。

 

立即学习“PHP免费学习笔记(深入)”;

 

立即学习“PHP免费学习笔记(深入)”;

PHP序列化_serialize_格式详解 - 低调走过 - 博客频道 - CSDN.NET.html

以上就介绍了Atitit php序列化 php的serialize序列化和json序列化,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Atitit php序列化 php的serialize序列化和json序列化 - attilaxAti

Atitit php序列化 php的serialize序列化和json序列化 - attilaxAti

atitit php序列化 phpserialize序列化json序列化

 

 

PHP 对不同类型的数据用不同的字母进行标示,Yahoo 开发网站提供的Using Serialized PHP with
Yahoo! Web Services 一文中给出所有的字母标示及其含义:
a - array
b - boolean
d - double
i - integer
o - common object
r - reference
s - string
C - custom object
O - class
N - null
R - pointer reference
U - unicode string
N 表示的是NULL,而bdi

 

立即学习“PHP免费学习笔记(深入)”;

作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

立即学习“PHP免费学习笔记(深入)”;

4.1.数组的序列化
数组(array)通常被序列化为:
a::{...}
其中表示数组元素的个数,……表示数组下标,
2>……表示与下标相对应的数组元素的值。
下标的类型只能是整型或者字符串型,序列化后的格式跟整型和字符串型数据序列化后的格式相同。
数组元素值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。
4.2.对象的序列化
对象(object)通常被序列化为:
O::""::{
2>...}
其中表示对象的类名的字符串长度。表示对象中的字段1个数。这些字段
包括在对象所在类及其祖先类中用varpublicprotected private 声明的字段,但是不包括static
const 声明的静态字段。也就是说只有实例(instance)字段。
……表示每个字段的字段名,而
……则表示与字段名所对应的字段值。
字段名是字符串型,序列化后格式与字符串型数据序列化后的格式相同。
字段值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。
但字段名的序列化与它们声明的可见性是有关的,下面重点讨论一下关于字段名的序列化。

 

立即学习“PHP免费学习笔记(深入)”;

 

立即学习“PHP免费学习笔记(深入)”;

PHP序列化_serialize_格式详解 - 低调走过 - 博客频道 - CSDN.NET.html

 

c# – Json DateTime序列化在DataContractJsonSerializer和System.Json中是不同的

c# – Json DateTime序列化在DataContractJsonSerializer和System.Json中是不同的

如何强制 DataContractJsonSerializer接受 System.Json DateTime序列化格式(ISO 8601)?

问题是System.Json输出“2012-03-01T16:24:55.000”格式但DataContractJsonSerializer需要“/ Date(1329161615596 0200)/”格式.

我有这个错误:
反序列化xyz类型的对象时出错. DateTime内容’2012-03-01T16:24:55.000’不以’/ Date(‘和以’)结尾,以及JSON所需的.

解决方法

您可以编写一个适配器类,在反序列化期间预处理序列化数据,并将所有其他函数连接到密封的DataContractJsonSerializer类.
public class DataContractSystemJsonSerializer : XmlObjectSerializer
{

    protected DataContractJsonSerializer innerSerializer;


    public DataContractSystemJsonSerializer(Type t)
    {
        this.innerSerializer = new DataContractJsonSerializer (t);
    }
    ...

    public override Object Readobject(Stream stream)
    {
        Object obj = null;
        MemoryStream out = new MemoryStream();
        Byte[] buf = new Byte[64];
        stream.Read(buf,64);

        int i = 0;
        while(stream.Read(buf,i,1))
        {
          convertDatesInBuffer(&buf,&i);              

          out.write(buf,1);

          i = (i+1)%64;
        }

        return innerSerializer.Readobject(out);
    }

}

关于Fastjson的SerializerFeature序列化属性fastjson 序列化的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.net 3.5 DataContractJsonSerializer序列化及反序列化二(json格式化)、Atitit php序列化 php的serialize序列化和json序列化、Atitit php序列化 php的serialize序列化和json序列化 - attilaxAti、c# – Json DateTime序列化在DataContractJsonSerializer和System.Json中是不同的等相关内容,可以在本站寻找。

本文标签: