JsonCSharpClassGeneratorLib/JsonType.cs
(开头部分) 12KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// Copyright © 2010 Xamasoft
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json.Linq;
using System.Data.Entity.Design.PluralizationServices;
using System.Globalization;
namespace Xamasoft.JsonClassGenerator
{
public class JsonType
{
private JsonType(IJsonClassGeneratorConfig generator)
{
this.generator = generator;
}
public JsonType(IJsonClassGeneratorConfig generator, JToken token)
: this(generator)
{
Type = GetFirstTypeEnum(token);
if (Type == JsonTypeEnum.Array)
{
var array = (JArray)token;
InternalType = GetCommonType(generator, array.ToArray());
}
}
internal static JsonType GetNull(IJsonClassGeneratorConfig generator)
{
return new JsonType(generator, JsonTypeEnum.NullableSomething);
}
private IJsonClassGeneratorConfig generator;
internal JsonType(IJsonClassGeneratorConfig generator, JsonTypeEnum type)
: this(generator)
{
this.Type = type;
}
public static JsonType GetCommonType(IJsonClassGeneratorConfig generator, JToken[] tokens)
{
if (tokens.Length == 0) return new JsonType(generator, JsonTypeEnum.NonConstrained);
var common = new JsonType(generator, tokens[0]);
for (int i = 1; i < tokens.Length; i++)
{
var current = new JsonType(generator, tokens[i]);
common = common.GetCommonType(current);
}
后面还有 257 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
