83 lines
3.2 KiB
C#
83 lines
3.2 KiB
C#
//------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------
|
|
|
|
namespace System.Runtime.Serialization.Json
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Xml;
|
|
using System.IO;
|
|
using System.ServiceModel;
|
|
using System.Runtime.Serialization.Json;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
[TypeForwardedFrom("System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
|
|
public static class JsonReaderWriterFactory
|
|
{
|
|
const string DefaultIndentChars = " ";
|
|
|
|
public static XmlDictionaryReader CreateJsonReader(Stream stream, XmlDictionaryReaderQuotas quotas)
|
|
{
|
|
return CreateJsonReader(stream, null, quotas, null);
|
|
}
|
|
|
|
public static XmlDictionaryReader CreateJsonReader(byte[] buffer, XmlDictionaryReaderQuotas quotas)
|
|
{
|
|
if (buffer == null)
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("buffer");
|
|
}
|
|
|
|
return CreateJsonReader(buffer, 0, buffer.Length, null, quotas, null);
|
|
}
|
|
|
|
public static XmlDictionaryReader CreateJsonReader(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
|
|
{
|
|
XmlJsonReader reader = new XmlJsonReader();
|
|
reader.SetInput(stream, encoding, quotas, onClose);
|
|
return reader;
|
|
}
|
|
|
|
public static XmlDictionaryReader CreateJsonReader(byte[] buffer, int offset, int count, XmlDictionaryReaderQuotas quotas)
|
|
{
|
|
return CreateJsonReader(buffer, offset, count, null, quotas, null);
|
|
}
|
|
|
|
public static XmlDictionaryReader CreateJsonReader(byte[] buffer, int offset, int count, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
|
|
{
|
|
XmlJsonReader reader = new XmlJsonReader();
|
|
reader.SetInput(buffer, offset, count, encoding, quotas, onClose);
|
|
return reader;
|
|
}
|
|
|
|
public static XmlDictionaryWriter CreateJsonWriter(Stream stream)
|
|
{
|
|
return CreateJsonWriter(stream, Encoding.UTF8, true);
|
|
}
|
|
|
|
public static XmlDictionaryWriter CreateJsonWriter(Stream stream, Encoding encoding)
|
|
{
|
|
return CreateJsonWriter(stream, encoding, true);
|
|
}
|
|
|
|
public static XmlDictionaryWriter CreateJsonWriter(Stream stream, Encoding encoding, bool ownsStream)
|
|
{
|
|
return CreateJsonWriter(stream, encoding, ownsStream, false);
|
|
}
|
|
|
|
public static XmlDictionaryWriter CreateJsonWriter(Stream stream, Encoding encoding, bool ownsStream, bool indent)
|
|
{
|
|
return CreateJsonWriter(stream, encoding, ownsStream, indent, JsonReaderWriterFactory.DefaultIndentChars);
|
|
}
|
|
|
|
public static XmlDictionaryWriter CreateJsonWriter(Stream stream, Encoding encoding, bool ownsStream, bool indent, string indentChars)
|
|
{
|
|
XmlJsonWriter writer = new XmlJsonWriter(indent, indentChars);
|
|
writer.SetOutput(stream, encoding, ownsStream);
|
|
return writer;
|
|
}
|
|
}
|
|
}
|