Full Code of JamesNK/Newtonsoft.Json for AI

master 4f73e7437244 cached
1163 files
14.7 MB
3.9M tokens
9030 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,696K chars total). Download the full file to get everything.
Repository: JamesNK/Newtonsoft.Json
Branch: master
Commit: 4f73e7437244
Files: 1163
Total size: 14.7 MB

Directory structure:
gitextract_wyahh53l/

├── .gitattributes
├── .github/
│   └── workflows/
│       └── codeql.yml
├── .gitignore
├── Build/
│   ├── Sign-Package.ps1
│   ├── appsettings.json
│   ├── build.ps1
│   ├── localbuild.ps1
│   ├── psake.psm1
│   ├── runbuild.cmd
│   ├── runbuild.ps1
│   └── version.json
├── CONTRIBUTING.md
├── Doc/
│   ├── ConditionalProperties.aml
│   ├── ContractResolver.aml
│   ├── ConvertingJSONandXML.aml
│   ├── CreatingLINQtoJSON.aml
│   ├── CustomCreationConverter.aml
│   ├── DatesInJSON.aml
│   ├── Introduction.aml
│   ├── JsonNetVsDotNetSerializers.aml
│   ├── JsonSchema.aml
│   ├── LINQtoJSON.aml
│   ├── ParsingLINQtoJSON.aml
│   ├── Performance.aml
│   ├── PreserveObjectReferences.aml
│   ├── QueryingLINQtoJSON.aml
│   ├── ReadingWritingJSON.aml
│   ├── ReducingSerializedJSONSize.aml
│   ├── Samples/
│   │   ├── Bson/
│   │   │   ├── DeserializeFromBson.aml
│   │   │   ├── DeserializeFromBsonCollection.aml
│   │   │   └── SerializeToBson.aml
│   │   ├── Json/
│   │   │   ├── CustomJsonReader.aml
│   │   │   ├── CustomJsonWriter.aml
│   │   │   ├── ReadJsonWithJsonTextReader.aml
│   │   │   ├── ReadMultipleContentWithJsonReader.aml
│   │   │   └── WriteJsonWithJsonTextWriter.aml
│   │   ├── JsonPath/
│   │   │   ├── ErrorWhenNoMatchQuery.aml
│   │   │   ├── QueryJsonSelectToken.aml
│   │   │   ├── QueryJsonSelectTokenEscaped.aml
│   │   │   ├── QueryJsonSelectTokenJsonPath.aml
│   │   │   ├── QueryJsonSelectTokenWithLinq.aml
│   │   │   ├── RegexQuery.aml
│   │   │   └── StrictEqualsQuery.aml
│   │   ├── Linq/
│   │   │   ├── Clone.aml
│   │   │   ├── CreateJsonAnonymousObject.aml
│   │   │   ├── CreateJsonCollectionInitializer.aml
│   │   │   ├── CreateJsonDeclaratively.aml
│   │   │   ├── CreateJsonDynamic.aml
│   │   │   ├── CreateJsonJTokenWriter.aml
│   │   │   ├── CreateJsonManually.aml
│   │   │   ├── CreateReader.aml
│   │   │   ├── CreateWriter.aml
│   │   │   ├── DeepEquals.aml
│   │   │   ├── DeserializeWithLinq.aml
│   │   │   ├── FromObject.aml
│   │   │   ├── JObjectProperties.aml
│   │   │   ├── JTokenAnnotation.aml
│   │   │   ├── JValueCast.aml
│   │   │   ├── JValueValue.aml
│   │   │   ├── MergeJson.aml
│   │   │   ├── ModifyJson.aml
│   │   │   ├── ParseJsonAny.aml
│   │   │   ├── ParseJsonArray.aml
│   │   │   ├── ParseJsonObject.aml
│   │   │   ├── QueryJson.aml
│   │   │   ├── QueryJsonDynamic.aml
│   │   │   ├── QueryJsonLinq.aml
│   │   │   ├── ReadJTokenFromBson.aml
│   │   │   ├── ReadJson.aml
│   │   │   ├── SerializeWithLinq.aml
│   │   │   ├── ToObjectComplex.aml
│   │   │   ├── ToObjectGeneric.aml
│   │   │   ├── ToObjectType.aml
│   │   │   ├── ToString.aml
│   │   │   ├── ToStringJsonConverter.aml
│   │   │   ├── WriteJTokenToBson.aml
│   │   │   └── WriteToJsonFile.aml
│   │   ├── Samples.aml
│   │   ├── Schema/
│   │   │   ├── CreateJsonSchemaManually.aml
│   │   │   ├── JTokenIsValid.aml
│   │   │   ├── JTokenIsValidWithMessages.aml
│   │   │   ├── JTokenValidateWithEvent.aml
│   │   │   ├── JsonSchemaParse.aml
│   │   │   ├── JsonValidatingReaderAndSerializer.aml
│   │   │   ├── LoadJsonSchemaFromFile.aml
│   │   │   ├── RefJsonSchemaResolver.aml
│   │   │   └── SaveJsonSchemaToFile.aml
│   │   ├── Serializer/
│   │   │   ├── CustomContractResolver.aml
│   │   │   ├── CustomJsonConverter.aml
│   │   │   ├── CustomJsonConverterGeneric.aml
│   │   │   ├── CustomTraceWriter.aml
│   │   │   ├── DataContractAndDataMember.aml
│   │   │   ├── DefaultSettings.aml
│   │   │   ├── DefaultValueAttributeIgnore.aml
│   │   │   ├── DefaultValueHandlingIgnore.aml
│   │   │   ├── DeserializeAnonymousType.aml
│   │   │   ├── DeserializeCollection.aml
│   │   │   ├── DeserializeConstructorHandling.aml
│   │   │   ├── DeserializeCustomCreationConverter.aml
│   │   │   ├── DeserializeDataSet.aml
│   │   │   ├── DeserializeDateFormatString.aml
│   │   │   ├── DeserializeDictionary.aml
│   │   │   ├── DeserializeExtensionData.aml
│   │   │   ├── DeserializeImmutableCollections.aml
│   │   │   ├── DeserializeMetadataPropertyHandling.aml
│   │   │   ├── DeserializeMissingMemberHandling.aml
│   │   │   ├── DeserializeObject.aml
│   │   │   ├── DeserializeObjectCreationHandling.aml
│   │   │   ├── DeserializeWithDependencyInjection.aml
│   │   │   ├── DeserializeWithJsonSerializerFromFile.aml
│   │   │   ├── ErrorHandlingAttribute.aml
│   │   │   ├── ErrorHandlingEvent.aml
│   │   │   ├── JsonConstructorAttribute.aml
│   │   │   ├── JsonConverterAttributeClass.aml
│   │   │   ├── JsonConverterAttributeProperty.aml
│   │   │   ├── JsonObjectAttributeOptIn.aml
│   │   │   ├── JsonObjectAttributeOverrideIEnumerable.aml
│   │   │   ├── JsonPropertyItemLevelSetting.aml
│   │   │   ├── JsonPropertyName.aml
│   │   │   ├── JsonPropertyOrder.aml
│   │   │   ├── JsonPropertyPropertyLevelSetting.aml
│   │   │   ├── JsonPropertyRequired.aml
│   │   │   ├── MaxDepth.aml
│   │   │   ├── NamingStrategyAttributes.aml
│   │   │   ├── NamingStrategyCamelCase.aml
│   │   │   ├── NamingStrategySkipDictionaryKeys.aml
│   │   │   ├── NamingStrategySkipSpecifiedNames.aml
│   │   │   ├── NamingStrategySnakeCase.aml
│   │   │   ├── NullValueHandlingIgnore.aml
│   │   │   ├── PopulateObject.aml
│   │   │   ├── PreserveReferencesHandlingObject.aml
│   │   │   ├── PropertyJsonIgnore.aml
│   │   │   ├── ReferenceLoopHandlingIgnore.aml
│   │   │   ├── SerializationCallbackAttributes.aml
│   │   │   ├── SerializeCollection.aml
│   │   │   ├── SerializeConditionalProperty.aml
│   │   │   ├── SerializeContractResolver.aml
│   │   │   ├── SerializeDataSet.aml
│   │   │   ├── SerializeDateFormatHandling.aml
│   │   │   ├── SerializeDateFormatString.aml
│   │   │   ├── SerializeDateTimeZoneHandling.aml
│   │   │   ├── SerializeDictionary.aml
│   │   │   ├── SerializeExtensionData.aml
│   │   │   ├── SerializeImmutableCollections.aml
│   │   │   ├── SerializeObject.aml
│   │   │   ├── SerializeRawJson.aml
│   │   │   ├── SerializeSerializationBinder.aml
│   │   │   ├── SerializeTypeNameHandling.aml
│   │   │   ├── SerializeUnindentedJson.aml
│   │   │   ├── SerializeWithJsonConverters.aml
│   │   │   ├── SerializeWithJsonSerializerToFile.aml
│   │   │   └── TraceWriter.aml
│   │   └── Xml/
│   │       ├── ConvertJsonToXml.aml
│   │       ├── ConvertXmlToJson.aml
│   │       └── ConvertXmlToJsonForceArray.aml
│   ├── SelectToken.aml
│   ├── SerializationAttributes.aml
│   ├── SerializationCallbacks.aml
│   ├── SerializationErrorHandling.aml
│   ├── SerializationGuide.aml
│   ├── SerializationSettings.aml
│   ├── SerializationTracing.aml
│   ├── SerializingCollections.aml
│   ├── SerializingJSON.aml
│   ├── SerializingJSONFragments.aml
│   ├── doc.content
│   ├── doc.shfbproj
│   ├── license.txt
│   └── readme.txt
├── ISSUE_TEMPLATE.md
├── LICENSE.md
├── README.md
├── Src/
│   ├── Directory.Build.props
│   ├── Newtonsoft.Json/
│   │   ├── Bson/
│   │   │   ├── BsonBinaryType.cs
│   │   │   ├── BsonBinaryWriter.cs
│   │   │   ├── BsonObjectId.cs
│   │   │   ├── BsonReader.cs
│   │   │   ├── BsonToken.cs
│   │   │   ├── BsonType.cs
│   │   │   └── BsonWriter.cs
│   │   ├── CompatibilitySuppressions.xml
│   │   ├── ConstructorHandling.cs
│   │   ├── Converters/
│   │   │   ├── BinaryConverter.cs
│   │   │   ├── BsonObjectIdConverter.cs
│   │   │   ├── CustomCreationConverter.cs
│   │   │   ├── DataSetConverter.cs
│   │   │   ├── DataTableConverter.cs
│   │   │   ├── DateTimeConverterBase.cs
│   │   │   ├── DiscriminatedUnionConverter.cs
│   │   │   ├── EntityKeyMemberConverter.cs
│   │   │   ├── ExpandoObjectConverter.cs
│   │   │   ├── IsoDateTimeConverter.cs
│   │   │   ├── JavaScriptDateTimeConverter.cs
│   │   │   ├── KeyValuePairConverter.cs
│   │   │   ├── RegexConverter.cs
│   │   │   ├── StringEnumConverter.cs
│   │   │   ├── UnixDateTimeConverter.cs
│   │   │   ├── VersionConverter.cs
│   │   │   └── XmlNodeConverter.cs
│   │   ├── DateFormatHandling.cs
│   │   ├── DateParseHandling.cs
│   │   ├── DateTimeZoneHandling.cs
│   │   ├── DefaultJsonNameTable.cs
│   │   ├── DefaultValueHandling.cs
│   │   ├── Dynamic.snk
│   │   ├── FloatFormatHandling.cs
│   │   ├── FloatParseHandling.cs
│   │   ├── FormatterAssemblyStyle.cs
│   │   ├── Formatting.cs
│   │   ├── IArrayPool.cs
│   │   ├── IJsonLineInfo.cs
│   │   ├── JsonArrayAttribute.cs
│   │   ├── JsonConstructorAttribute.cs
│   │   ├── JsonContainerAttribute.cs
│   │   ├── JsonConvert.cs
│   │   ├── JsonConverter.cs
│   │   ├── JsonConverterAttribute.cs
│   │   ├── JsonConverterCollection.cs
│   │   ├── JsonDictionaryAttribute.cs
│   │   ├── JsonException.cs
│   │   ├── JsonExtensionDataAttribute.cs
│   │   ├── JsonIgnoreAttribute.cs
│   │   ├── JsonNameTable.cs
│   │   ├── JsonObjectAttribute.cs
│   │   ├── JsonPosition.cs
│   │   ├── JsonPropertyAttribute.cs
│   │   ├── JsonReader.Async.cs
│   │   ├── JsonReader.cs
│   │   ├── JsonReaderException.cs
│   │   ├── JsonRequiredAttribute.cs
│   │   ├── JsonSerializationException.cs
│   │   ├── JsonSerializer.cs
│   │   ├── JsonSerializerSettings.cs
│   │   ├── JsonTextReader.Async.cs
│   │   ├── JsonTextReader.cs
│   │   ├── JsonTextWriter.Async.cs
│   │   ├── JsonTextWriter.cs
│   │   ├── JsonToken.cs
│   │   ├── JsonValidatingReader.cs
│   │   ├── JsonWriter.Async.cs
│   │   ├── JsonWriter.cs
│   │   ├── JsonWriterException.cs
│   │   ├── Linq/
│   │   │   ├── CommentHandling.cs
│   │   │   ├── DuplicatePropertyNameHandling.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── IJEnumerable.cs
│   │   │   ├── JArray.Async.cs
│   │   │   ├── JArray.cs
│   │   │   ├── JConstructor.Async.cs
│   │   │   ├── JConstructor.cs
│   │   │   ├── JContainer.Async.cs
│   │   │   ├── JContainer.cs
│   │   │   ├── JEnumerable.cs
│   │   │   ├── JObject.Async.cs
│   │   │   ├── JObject.cs
│   │   │   ├── JProperty.Async.cs
│   │   │   ├── JProperty.cs
│   │   │   ├── JPropertyDescriptor.cs
│   │   │   ├── JPropertyKeyedCollection.cs
│   │   │   ├── JRaw.Async.cs
│   │   │   ├── JRaw.cs
│   │   │   ├── JToken.Async.cs
│   │   │   ├── JToken.cs
│   │   │   ├── JTokenEqualityComparer.cs
│   │   │   ├── JTokenReader.cs
│   │   │   ├── JTokenType.cs
│   │   │   ├── JTokenWriter.Async.cs
│   │   │   ├── JTokenWriter.cs
│   │   │   ├── JValue.Async.cs
│   │   │   ├── JValue.cs
│   │   │   ├── JsonCloneSettings.cs
│   │   │   ├── JsonLoadSettings.cs
│   │   │   ├── JsonMergeSettings.cs
│   │   │   ├── JsonPath/
│   │   │   │   ├── ArrayIndexFilter.cs
│   │   │   │   ├── ArrayMultipleIndexFilter.cs
│   │   │   │   ├── ArraySliceFilter.cs
│   │   │   │   ├── FieldFilter.cs
│   │   │   │   ├── FieldMultipleFilter.cs
│   │   │   │   ├── JPath.cs
│   │   │   │   ├── PathFilter.cs
│   │   │   │   ├── QueryExpression.cs
│   │   │   │   ├── QueryFilter.cs
│   │   │   │   ├── QueryScanFilter.cs
│   │   │   │   ├── RootFilter.cs
│   │   │   │   ├── ScanFilter.cs
│   │   │   │   └── ScanMultipleFilter.cs
│   │   │   ├── JsonSelectSettings.cs
│   │   │   ├── LineInfoHandling.cs
│   │   │   ├── MergeArrayHandling.cs
│   │   │   └── MergeNullValueHandling.cs
│   │   ├── MemberSerialization.cs
│   │   ├── MetadataPropertyHandling.cs
│   │   ├── MissingMemberHandling.cs
│   │   ├── Newtonsoft.Json.csproj
│   │   ├── Newtonsoft.Json.ruleset
│   │   ├── NullValueHandling.cs
│   │   ├── ObjectCreationHandling.cs
│   │   ├── PreserveReferencesHandling.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── README.md
│   │   ├── ReferenceLoopHandling.cs
│   │   ├── Required.cs
│   │   ├── Schema/
│   │   │   ├── Extensions.cs
│   │   │   ├── JsonSchema.cs
│   │   │   ├── JsonSchemaBuilder.cs
│   │   │   ├── JsonSchemaConstants.cs
│   │   │   ├── JsonSchemaException.cs
│   │   │   ├── JsonSchemaGenerator.cs
│   │   │   ├── JsonSchemaModel.cs
│   │   │   ├── JsonSchemaModelBuilder.cs
│   │   │   ├── JsonSchemaNode.cs
│   │   │   ├── JsonSchemaNodeCollection.cs
│   │   │   ├── JsonSchemaResolver.cs
│   │   │   ├── JsonSchemaType.cs
│   │   │   ├── JsonSchemaWriter.cs
│   │   │   ├── UndefinedSchemaIdHandling.cs
│   │   │   ├── ValidationEventArgs.cs
│   │   │   └── ValidationEventHandler.cs
│   │   ├── Serialization/
│   │   │   ├── CachedAttributeGetter.cs
│   │   │   ├── CamelCaseNamingStrategy.cs
│   │   │   ├── CamelCasePropertyNamesContractResolver.cs
│   │   │   ├── DefaultContractResolver.cs
│   │   │   ├── DefaultNamingStrategy.cs
│   │   │   ├── DefaultReferenceResolver.cs
│   │   │   ├── DefaultSerializationBinder.cs
│   │   │   ├── DiagnosticsTraceWriter.cs
│   │   │   ├── DynamicValueProvider.cs
│   │   │   ├── ErrorContext.cs
│   │   │   ├── ErrorEventArgs.cs
│   │   │   ├── ExpressionValueProvider.cs
│   │   │   ├── FormatterConverter.cs
│   │   │   ├── IAttributeProvider.cs
│   │   │   ├── IContractResolver.cs
│   │   │   ├── IReferenceResolver.cs
│   │   │   ├── ISerializationBinder.cs
│   │   │   ├── ITraceWriter.cs
│   │   │   ├── IValueProvider.cs
│   │   │   ├── JsonArrayContract.cs
│   │   │   ├── JsonContainerContract.cs
│   │   │   ├── JsonContract.cs
│   │   │   ├── JsonDictionaryContract.cs
│   │   │   ├── JsonDynamicContract.cs
│   │   │   ├── JsonFormatterConverter.cs
│   │   │   ├── JsonISerializableContract.cs
│   │   │   ├── JsonLinqContract.cs
│   │   │   ├── JsonObjectContract.cs
│   │   │   ├── JsonPrimitiveContract.cs
│   │   │   ├── JsonProperty.cs
│   │   │   ├── JsonPropertyCollection.cs
│   │   │   ├── JsonSerializerInternalBase.cs
│   │   │   ├── JsonSerializerInternalReader.cs
│   │   │   ├── JsonSerializerInternalWriter.cs
│   │   │   ├── JsonSerializerProxy.cs
│   │   │   ├── JsonStringContract.cs
│   │   │   ├── JsonTypeReflector.cs
│   │   │   ├── KebabCaseNamingStrategy.cs
│   │   │   ├── MemoryTraceWriter.cs
│   │   │   ├── NamingStrategy.cs
│   │   │   ├── ObjectConstructor.cs
│   │   │   ├── OnErrorAttribute.cs
│   │   │   ├── ReflectionAttributeProvider.cs
│   │   │   ├── ReflectionValueProvider.cs
│   │   │   ├── SerializationBinderAdapter.cs
│   │   │   ├── SnakeCaseNamingStrategy.cs
│   │   │   ├── TraceJsonReader.cs
│   │   │   └── TraceJsonWriter.cs
│   │   ├── SerializationBinder.cs
│   │   ├── StringEscapeHandling.cs
│   │   ├── TraceLevel.cs
│   │   ├── TypeNameAssemblyFormatHandling.cs
│   │   ├── TypeNameHandling.cs
│   │   ├── Utilities/
│   │   │   ├── AsyncUtils.cs
│   │   │   ├── Base64Encoder.cs
│   │   │   ├── BidirectionalDictionary.cs
│   │   │   ├── BoxedPrimitives.cs
│   │   │   ├── CollectionUtils.cs
│   │   │   ├── CollectionWrapper.cs
│   │   │   ├── ConvertUtils.cs
│   │   │   ├── DateTimeParser.cs
│   │   │   ├── DateTimeUtils.cs
│   │   │   ├── DictionaryWrapper.cs
│   │   │   ├── DynamicProxy.cs
│   │   │   ├── DynamicProxyMetaObject.cs
│   │   │   ├── DynamicReflectionDelegateFactory.cs
│   │   │   ├── DynamicUtils.cs
│   │   │   ├── DynamicallyAccessedMemberTypes.cs
│   │   │   ├── DynamicallyAccessedMembersAttribute.cs
│   │   │   ├── EnumInfo.cs
│   │   │   ├── EnumUtils.cs
│   │   │   ├── ExpressionReflectionDelegateFactory.cs
│   │   │   ├── FSharpUtils.cs
│   │   │   ├── FeatureGuardAttribute.cs
│   │   │   ├── FeatureSwitchDefinitionAttribute.cs
│   │   │   ├── ILGeneratorExtensions.cs
│   │   │   ├── ImmutableCollectionsUtils.cs
│   │   │   ├── JavaScriptUtils.cs
│   │   │   ├── JsonTokenUtils.cs
│   │   │   ├── LateBoundReflectionDelegateFactory.cs
│   │   │   ├── LinqBridge.cs
│   │   │   ├── MathUtils.cs
│   │   │   ├── MethodBinder.cs
│   │   │   ├── MethodCall.cs
│   │   │   ├── MiscellaneousUtils.cs
│   │   │   ├── NullableAttributes.cs
│   │   │   ├── ReflectionDelegateFactory.cs
│   │   │   ├── ReflectionObject.cs
│   │   │   ├── ReflectionUtils.cs
│   │   │   ├── RequiresDynamicCodeAttribute.cs
│   │   │   ├── RequiresUnreferencedCodeAttribute.cs
│   │   │   ├── StringBuffer.cs
│   │   │   ├── StringReference.cs
│   │   │   ├── StringUtils.cs
│   │   │   ├── StructMultiKey.cs
│   │   │   ├── ThreadSafeStore.cs
│   │   │   ├── TypeExtensions.cs
│   │   │   ├── UnconditionalSuppressMessageAttribute.cs
│   │   │   └── ValidationUtils.cs
│   │   └── WriteState.cs
│   ├── Newtonsoft.Json.FuzzTests/
│   │   ├── FuzzTests.cs
│   │   └── Newtonsoft.Json.FuzzTests.csproj
│   ├── Newtonsoft.Json.TestConsole/
│   │   ├── App.config
│   │   ├── Newtonsoft.Json.TestConsole.csproj
│   │   └── Program.cs
│   ├── Newtonsoft.Json.Tests/
│   │   ├── App.config
│   │   ├── Benchmarks/
│   │   │   ├── BenchmarkConstants.cs
│   │   │   ├── DeserializeBenchmarks.cs
│   │   │   ├── DeserializeComparisonBenchmarks.cs
│   │   │   ├── JTokenBenchmarks.cs
│   │   │   ├── JValueConvertBenchmarks.cs
│   │   │   ├── JsonTextReaderBenchmarks.cs
│   │   │   ├── JsonTextWriterBenchmarks.cs
│   │   │   ├── LargeJArrayBenchmarks.cs
│   │   │   ├── LowLevelBenchmarks.cs
│   │   │   ├── Runner.cs
│   │   │   ├── SerializeBenchmarks.cs
│   │   │   ├── SerializeComparisonBenchmarks.cs
│   │   │   └── XmlNodeConverterBenchmarks.cs
│   │   ├── Bson/
│   │   │   ├── BsonReaderAsyncTests.cs
│   │   │   ├── BsonReaderTests.cs
│   │   │   ├── BsonWriterAsyncTests.cs
│   │   │   └── BsonWriterTests.cs
│   │   ├── Converters/
│   │   │   ├── BinaryConverterTests.cs
│   │   │   ├── CustomCreationConverterTests.cs
│   │   │   ├── DataSetConverterTests.cs
│   │   │   ├── DataTableConverterTests.cs
│   │   │   ├── DiscriminatedUnionConverterTests.cs
│   │   │   ├── ExpandoObjectConverterTests.cs
│   │   │   ├── GenericJsonConverterTests.cs
│   │   │   ├── IsoDateTimeConverterTests.cs
│   │   │   ├── JavaScriptDateTimeConverterTests.cs
│   │   │   ├── KeyValuePairConverterTests.cs
│   │   │   ├── ObjectIdConverterTests.cs
│   │   │   ├── RegexConverterTests.cs
│   │   │   ├── StringEnumConverterTests.cs
│   │   │   ├── UnixDateTimeConverterTests.cs
│   │   │   ├── VersionConverterTests.cs
│   │   │   └── XmlNodeConverterTest.cs
│   │   ├── DemoTests.cs
│   │   ├── Documentation/
│   │   │   ├── ConditionalPropertiesTests.cs
│   │   │   ├── ConvertingJsonAndXmlTests.cs
│   │   │   ├── JsonSchemaTests.cs
│   │   │   ├── LinqToJsonTests.cs
│   │   │   ├── PerformanceTests.cs
│   │   │   ├── ReadingAndWritingJsonTests.cs
│   │   │   ├── Samples/
│   │   │   │   ├── Bson/
│   │   │   │   │   ├── DeserializeFromBson.cs
│   │   │   │   │   ├── DeserializeFromBsonCollection.cs
│   │   │   │   │   └── SerializeToBson.cs
│   │   │   │   ├── Json/
│   │   │   │   │   ├── CustomJsonReader.cs
│   │   │   │   │   ├── CustomJsonWriter.cs
│   │   │   │   │   ├── ReadJsonWithJsonTextReader.cs
│   │   │   │   │   ├── ReadMultipleContentWithJsonReader.cs
│   │   │   │   │   └── WriteJsonWithJsonTextWriter.cs
│   │   │   │   ├── JsonPath/
│   │   │   │   │   ├── ErrorWhenNoMatchQuery.cs
│   │   │   │   │   ├── QueryJsonSelectToken.cs
│   │   │   │   │   ├── QueryJsonSelectTokenEscaped.cs
│   │   │   │   │   ├── QueryJsonSelectTokenJsonPath.cs
│   │   │   │   │   ├── QueryJsonSelectTokenWithLinq.cs
│   │   │   │   │   ├── RegexQuery.cs
│   │   │   │   │   └── StrictEqualsQuery.cs
│   │   │   │   ├── Linq/
│   │   │   │   │   ├── Clone.cs
│   │   │   │   │   ├── CreateJsonAnonymousObject.cs
│   │   │   │   │   ├── CreateJsonCollectionInitializer.cs
│   │   │   │   │   ├── CreateJsonDeclaratively.cs
│   │   │   │   │   ├── CreateJsonDynamic.cs
│   │   │   │   │   ├── CreateJsonJTokenWriter.cs
│   │   │   │   │   ├── CreateJsonManually.cs
│   │   │   │   │   ├── CreateReader.cs
│   │   │   │   │   ├── CreateWriter.cs
│   │   │   │   │   ├── DeepEquals.cs
│   │   │   │   │   ├── DeserializeWithLinq.cs
│   │   │   │   │   ├── FromObject.cs
│   │   │   │   │   ├── JObjectProperties.cs
│   │   │   │   │   ├── JTokenAnnotation.cs
│   │   │   │   │   ├── JValueCast.cs
│   │   │   │   │   ├── JValueValue.cs
│   │   │   │   │   ├── MergeJson.cs
│   │   │   │   │   ├── ModifyJson.cs
│   │   │   │   │   ├── ParseJsonAny.cs
│   │   │   │   │   ├── ParseJsonArray.cs
│   │   │   │   │   ├── ParseJsonObject.cs
│   │   │   │   │   ├── QueryJson.cs
│   │   │   │   │   ├── QueryJsonDynamic.cs
│   │   │   │   │   ├── QueryJsonIgnoreCase.cs
│   │   │   │   │   ├── QueryJsonLinq.cs
│   │   │   │   │   ├── ReadJTokenFromBson.cs
│   │   │   │   │   ├── ReadJson.cs
│   │   │   │   │   ├── SerializeWithLinq.cs
│   │   │   │   │   ├── ToObjectComplex.cs
│   │   │   │   │   ├── ToObjectGeneric.cs
│   │   │   │   │   ├── ToObjectType.cs
│   │   │   │   │   ├── ToString.cs
│   │   │   │   │   ├── ToStringJsonConverter.cs
│   │   │   │   │   ├── WriteJTokenToBson.cs
│   │   │   │   │   └── WriteToJsonFile.cs
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── CreateJsonSchemaManually.cs
│   │   │   │   │   ├── JTokenIsValid.cs
│   │   │   │   │   ├── JTokenIsValidWithMessages.cs
│   │   │   │   │   ├── JTokenValidateWithEvent.cs
│   │   │   │   │   ├── JsonSchemaParse.cs
│   │   │   │   │   ├── JsonValidatingReaderAndSerializer.cs
│   │   │   │   │   ├── LoadJsonSchemaFromFile.cs
│   │   │   │   │   ├── RefJsonSchemaResolver.cs
│   │   │   │   │   └── SaveJsonSchemaToFile.cs
│   │   │   │   ├── Serializer/
│   │   │   │   │   ├── CustomContractResolver.cs
│   │   │   │   │   ├── CustomJsonConverter.cs
│   │   │   │   │   ├── CustomJsonConverterGeneric.cs
│   │   │   │   │   ├── CustomTraceWriter.cs
│   │   │   │   │   ├── DataContractAndDataMember.cs
│   │   │   │   │   ├── DefaultSettings.cs
│   │   │   │   │   ├── DefaultValueAttributeIgnore.cs
│   │   │   │   │   ├── DefaultValueHandlingIgnore.cs
│   │   │   │   │   ├── DeserializeAnonymousType.cs
│   │   │   │   │   ├── DeserializeCollection.cs
│   │   │   │   │   ├── DeserializeConstructorHandling.cs
│   │   │   │   │   ├── DeserializeCustomCreationConverter.cs
│   │   │   │   │   ├── DeserializeDataSet.cs
│   │   │   │   │   ├── DeserializeDateFormatString.cs
│   │   │   │   │   ├── DeserializeDictionary.cs
│   │   │   │   │   ├── DeserializeExtensionData.cs
│   │   │   │   │   ├── DeserializeImmutableCollections.cs
│   │   │   │   │   ├── DeserializeMetadataPropertyHandling.cs
│   │   │   │   │   ├── DeserializeMissingMemberHandling.cs
│   │   │   │   │   ├── DeserializeObject.cs
│   │   │   │   │   ├── DeserializeObjectCreationHandling.cs
│   │   │   │   │   ├── DeserializeWithDependencyInjection.cs
│   │   │   │   │   ├── DeserializeWithJsonSerializerFromFile.cs
│   │   │   │   │   ├── ErrorHandlingAttribute.cs
│   │   │   │   │   ├── ErrorHandlingEvent.cs
│   │   │   │   │   ├── JsonConstructorAttribute.cs
│   │   │   │   │   ├── JsonConverterAttributeClass.cs
│   │   │   │   │   ├── JsonConverterAttributeProperty.cs
│   │   │   │   │   ├── JsonObjectAttributeOptIn.cs
│   │   │   │   │   ├── JsonObjectAttributeOverrideIEnumerable.cs
│   │   │   │   │   ├── JsonPropertyItemLevelSetting.cs
│   │   │   │   │   ├── JsonPropertyName.cs
│   │   │   │   │   ├── JsonPropertyOrder.cs
│   │   │   │   │   ├── JsonPropertyPropertyLevelSetting.cs
│   │   │   │   │   ├── JsonPropertyRequired.cs
│   │   │   │   │   ├── MaxDepth.cs
│   │   │   │   │   ├── NamingStrategyAttributes.cs
│   │   │   │   │   ├── NamingStrategyCamelCase.cs
│   │   │   │   │   ├── NamingStrategyKebabCase.cs
│   │   │   │   │   ├── NamingStrategySkipDictionaryKeys.cs
│   │   │   │   │   ├── NamingStrategySkipSpecifiedNames.cs
│   │   │   │   │   ├── NamingStrategySnakeCase.cs
│   │   │   │   │   ├── NullValueHandlingIgnore.cs
│   │   │   │   │   ├── PopulateObject.cs
│   │   │   │   │   ├── PreserveReferencesHandlingObject.cs
│   │   │   │   │   ├── PropertyJsonIgnore.cs
│   │   │   │   │   ├── ReferenceLoopHandlingIgnore.cs
│   │   │   │   │   ├── SerializationCallbackAttributes.cs
│   │   │   │   │   ├── SerializeCollection.cs
│   │   │   │   │   ├── SerializeConditionalProperty.cs
│   │   │   │   │   ├── SerializeContractResolver.cs
│   │   │   │   │   ├── SerializeDataSet.cs
│   │   │   │   │   ├── SerializeDateFormatHandling.cs
│   │   │   │   │   ├── SerializeDateFormatString.cs
│   │   │   │   │   ├── SerializeDateTimeZoneHandling.cs
│   │   │   │   │   ├── SerializeDictionary.cs
│   │   │   │   │   ├── SerializeExtensionData.cs
│   │   │   │   │   ├── SerializeImmutableCollections.cs
│   │   │   │   │   ├── SerializeObject.cs
│   │   │   │   │   ├── SerializeRawJson.cs
│   │   │   │   │   ├── SerializeSerializationBinder.cs
│   │   │   │   │   ├── SerializeTypeNameHandling.cs
│   │   │   │   │   ├── SerializeUnindentedJson.cs
│   │   │   │   │   ├── SerializeWithJsonConverters.cs
│   │   │   │   │   ├── SerializeWithJsonSerializerToFile.cs
│   │   │   │   │   └── TraceWriter.cs
│   │   │   │   └── Xml/
│   │   │   │       ├── ConvertJsonToXml.cs
│   │   │   │       ├── ConvertXmlToJson.cs
│   │   │   │       └── ConvertXmlToJsonForceArray.cs
│   │   │   ├── SerializationTests.cs
│   │   │   └── TraceWriterTests.cs
│   │   ├── ExceptionTests.cs
│   │   ├── FileSystemEntityModel.Designer.cs
│   │   ├── FileSystemEntityModel.edmx
│   │   ├── FuzzRegressionTests.cs
│   │   ├── Issues/
│   │   │   ├── Issue0198.cs
│   │   │   ├── Issue0573.cs
│   │   │   ├── Issue1307.cs
│   │   │   ├── Issue1321.cs
│   │   │   ├── Issue1322.cs
│   │   │   ├── Issue1327.cs
│   │   │   ├── Issue1351.cs
│   │   │   ├── Issue1353.cs
│   │   │   ├── Issue1362.cs
│   │   │   ├── Issue1396.cs
│   │   │   ├── Issue1404.cs
│   │   │   ├── Issue1445.cs
│   │   │   ├── Issue1460.cs
│   │   │   ├── Issue1461.cs
│   │   │   ├── Issue1512.cs
│   │   │   ├── Issue1541.cs
│   │   │   ├── Issue1545.cs
│   │   │   ├── Issue1552.cs
│   │   │   ├── Issue1561.cs
│   │   │   ├── Issue1566.cs
│   │   │   ├── Issue1569.cs
│   │   │   ├── Issue1574.cs
│   │   │   ├── Issue1576.cs
│   │   │   ├── Issue1592.cs
│   │   │   ├── Issue1593.cs
│   │   │   ├── Issue1597.cs
│   │   │   ├── Issue1598.cs
│   │   │   ├── Issue1619.cs
│   │   │   ├── Issue1620.cs
│   │   │   ├── Issue1642.cs
│   │   │   ├── Issue1682.cs
│   │   │   ├── Issue1708.cs
│   │   │   ├── Issue1711.cs
│   │   │   ├── Issue1719.cs
│   │   │   ├── Issue1725.cs
│   │   │   ├── Issue1734.cs
│   │   │   ├── Issue1752.cs
│   │   │   ├── Issue1757.cs
│   │   │   ├── Issue1778.cs
│   │   │   ├── Issue1796.cs
│   │   │   ├── Issue1798.cs
│   │   │   ├── Issue1834.cs
│   │   │   ├── Issue1837.cs
│   │   │   ├── Issue1874.cs
│   │   │   ├── Issue1877.cs
│   │   │   ├── Issue1962.cs
│   │   │   ├── Issue1984.cs
│   │   │   ├── Issue2082.cs
│   │   │   ├── Issue2156.cs
│   │   │   ├── Issue2165.cs
│   │   │   ├── Issue2176.cs
│   │   │   ├── Issue2444.cs
│   │   │   ├── Issue2450.cs
│   │   │   ├── Issue2484.cs
│   │   │   ├── Issue2492.cs
│   │   │   ├── Issue2504.cs
│   │   │   ├── Issue2529.cs
│   │   │   ├── Issue2638.cs
│   │   │   ├── Issue2694.cs
│   │   │   ├── Issue2708.cs
│   │   │   ├── Issue2735.cs
│   │   │   ├── Issue2768.cs
│   │   │   ├── Issue2775.cs
│   │   │   ├── Issue3055.cs
│   │   │   ├── Issue3056.cs
│   │   │   └── Issue3080.cs
│   │   ├── JsonArrayAttributeTests.cs
│   │   ├── JsonConvertTest.cs
│   │   ├── JsonTextReaderTests/
│   │   │   ├── ExceptionHandlingAsyncTests.cs
│   │   │   ├── ExceptionHandlingTests.cs
│   │   │   ├── FloatAsyncTests.cs
│   │   │   ├── FloatTests.cs
│   │   │   ├── MiscAsyncTests.cs
│   │   │   ├── MiscTests.cs
│   │   │   ├── ParseAsyncTests.cs
│   │   │   ├── ParseTests.cs
│   │   │   ├── ReadAsyncTests.cs
│   │   │   └── ReadTests.cs
│   │   ├── JsonTextWriterAsyncTests.cs
│   │   ├── JsonTextWriterTest.cs
│   │   ├── JsonValidatingReaderTests.cs
│   │   ├── Linq/
│   │   │   ├── AnnotationsTests.cs
│   │   │   ├── ComponentModel/
│   │   │   │   ├── BindingTests.cs
│   │   │   │   └── JPropertyDescriptorTests.cs
│   │   │   ├── DynamicTests.cs
│   │   │   ├── JArrayTests.cs
│   │   │   ├── JConstructorAsyncTests.cs
│   │   │   ├── JConstructorTests.cs
│   │   │   ├── JObjectAsyncTests.cs
│   │   │   ├── JObjectTests.cs
│   │   │   ├── JPropertyAsyncTests.cs
│   │   │   ├── JPropertyTests.cs
│   │   │   ├── JRawTests.cs
│   │   │   ├── JTokenAsyncTests.cs
│   │   │   ├── JTokenEqualityComparerTests.cs
│   │   │   ├── JTokenReaderAsyncTests.cs
│   │   │   ├── JTokenReaderTest.cs
│   │   │   ├── JTokenTests.cs
│   │   │   ├── JTokenWriterAsyncTests.cs
│   │   │   ├── JTokenWriterTest.cs
│   │   │   ├── JValueAsyncTests.cs
│   │   │   ├── JValueTests.cs
│   │   │   ├── JsonPath/
│   │   │   │   ├── JPathExecuteTests.cs
│   │   │   │   ├── JPathParseTests.cs
│   │   │   │   └── QueryExpressionTests.cs
│   │   │   ├── LinqToJsonAsyncTests.cs
│   │   │   ├── LinqToJsonTest.cs
│   │   │   └── MergeTests.cs
│   │   ├── LinqToSql/
│   │   │   ├── Department.cs
│   │   │   ├── DepartmentConverter.cs
│   │   │   ├── GuidByteArrayConverter.cs
│   │   │   ├── LinqToSqlClasses.dbml
│   │   │   ├── LinqToSqlClasses.dbml.layout
│   │   │   ├── LinqToSqlClasses.designer.cs
│   │   │   ├── LinqToSqlClassesSerializationTests.cs
│   │   │   ├── Person.cs
│   │   │   └── Role.cs
│   │   ├── Newtonsoft.Json.Tests.csproj
│   │   ├── PoisonText.txt
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── Schema/
│   │   │   ├── ExtensionsTests.cs
│   │   │   ├── JsonSchemaBuilderTests.cs
│   │   │   ├── JsonSchemaGeneratorTests.cs
│   │   │   ├── JsonSchemaModelBuilderTests.cs
│   │   │   ├── JsonSchemaNodeTests.cs
│   │   │   ├── JsonSchemaSpecTests.cs
│   │   │   ├── JsonSchemaTests.cs
│   │   │   ├── PerformanceTests.cs
│   │   │   └── Specs/
│   │   │       ├── additionalItems.json
│   │   │       ├── additionalProperties.json
│   │   │       ├── dependencies.json
│   │   │       ├── disallow.json
│   │   │       ├── divisibleBy.json
│   │   │       ├── enum.json
│   │   │       ├── extends.json
│   │   │       ├── items.json
│   │   │       ├── maxItems.json
│   │   │       ├── maxLength.json
│   │   │       ├── maximum.json
│   │   │       ├── minItems.json
│   │   │       ├── minLength.json
│   │   │       ├── minimum.json
│   │   │       ├── pattern.json
│   │   │       ├── patternProperties.json
│   │   │       ├── properties.json
│   │   │       ├── ref.json
│   │   │       ├── required.json
│   │   │       ├── type.json
│   │   │       └── uniqueItems.json
│   │   ├── Serialization/
│   │   │   ├── CamelCaseNamingStrategyTests.cs
│   │   │   ├── CamelCasePropertyNamesContractResolverTests.cs
│   │   │   ├── ConstructorHandlingTests.cs
│   │   │   ├── ContractResolverTests.cs
│   │   │   ├── DateOnlyTests.cs
│   │   │   ├── DateTimeZoneHandlingTests.cs
│   │   │   ├── DefaultValueHandlingTests.cs
│   │   │   ├── DependencyInjectionTests.cs
│   │   │   ├── DynamicConcreteTests.cs
│   │   │   ├── DynamicTests.cs
│   │   │   ├── EntitiesSerializationTests.cs
│   │   │   ├── ExtensionDataTests.cs
│   │   │   ├── FSharpTests.cs
│   │   │   ├── ImmutableCollectionsTests.cs
│   │   │   ├── JsonPropertyCollectionTests.cs
│   │   │   ├── JsonSerializerCollectionsTests.cs
│   │   │   ├── JsonSerializerTest.cs
│   │   │   ├── KebabCaseNamingStrategyTests.cs
│   │   │   ├── MetadataPropertyHandlingTests.cs
│   │   │   ├── MissingMemberHandlingTests.cs
│   │   │   ├── NamingStrategyEquality.cs
│   │   │   ├── NullValueHandlingTests.cs
│   │   │   ├── PopulateTests.cs
│   │   │   ├── PreserveReferencesHandlingTests.cs
│   │   │   ├── ReferenceLoopHandlingTests.cs
│   │   │   ├── ReflectionAttributeProviderTests.cs
│   │   │   ├── SerializationErrorHandlingTests.cs
│   │   │   ├── SerializationEventAttributeTests.cs
│   │   │   ├── ShouldSerializeTests.cs
│   │   │   ├── SnakeCaseNamingStrategyTests.cs
│   │   │   ├── TimeOnlyTests.cs
│   │   │   ├── TraceWriterTests.cs
│   │   │   ├── TypeNameHandlingTests.cs
│   │   │   └── WebApiIntegrationTests.cs
│   │   ├── SpaceShipV2.bson
│   │   ├── TestFixtureBase.cs
│   │   ├── TestObjects/
│   │   │   ├── A.cs
│   │   │   ├── AATestClass.cs
│   │   │   ├── Aa.cs
│   │   │   ├── AbstractDictionaryTestClass.cs
│   │   │   ├── AbstractGenericBase.cs
│   │   │   ├── AbstractImplementationDictionaryTestClass.cs
│   │   │   ├── AbstractImplementationListTestClass.cs
│   │   │   ├── AbstractImplementationTestClass.cs
│   │   │   ├── AbstractListTestClass.cs
│   │   │   ├── AbstractTestClass.cs
│   │   │   ├── Address.cs
│   │   │   ├── Animal.cs
│   │   │   ├── AnswerFilterModel.cs
│   │   │   ├── Antworten.cs
│   │   │   ├── ArgumentConverterPrecedenceClassConverter.cs
│   │   │   ├── Article.cs
│   │   │   ├── ArticleCollection.cs
│   │   │   ├── AttachmentReadConverter.cs
│   │   │   ├── B.cs
│   │   │   ├── BBTestClass.cs
│   │   │   ├── BadJsonPropertyClass.cs
│   │   │   ├── Bar.cs
│   │   │   ├── Bar1.cs
│   │   │   ├── BaseClass.cs
│   │   │   ├── BaseClassVirtual.cs
│   │   │   ├── BaseClassWithProtectedVirtual.cs
│   │   │   ├── BaseConstructorType.cs
│   │   │   ├── BaseDataContract.cs
│   │   │   ├── BaseDataContractWithHidden.cs
│   │   │   ├── BaseType.cs
│   │   │   ├── BaseWithContract.cs
│   │   │   ├── BaseWithPrivate.cs
│   │   │   ├── BaseWithoutContract.cs
│   │   │   ├── Bb.cs
│   │   │   ├── Binding.cs
│   │   │   ├── Binding_DisallowNull.cs
│   │   │   ├── BusRun.cs
│   │   │   ├── ByteArrayTestClass.cs
│   │   │   ├── Car.cs
│   │   │   ├── ChildClass.cs
│   │   │   ├── ChildClassVirtual.cs
│   │   │   ├── ChildClassWithProtectedOverridePlusJsonProperty.cs
│   │   │   ├── ChildDataContractWithHidden.cs
│   │   │   ├── CircularConstructor1.cs
│   │   │   ├── CircularConstructor2.cs
│   │   │   ├── CircularReferenceClass.cs
│   │   │   ├── CircularReferenceWithIdClass.cs
│   │   │   ├── ClassAndMemberConverterClass.cs
│   │   │   ├── ClassAttributeBase.cs
│   │   │   ├── ClassAttributeDerived.cs
│   │   │   ├── ClassConverterPrecedenceClassConverter.cs
│   │   │   ├── ClassWithArray.cs
│   │   │   ├── ClassWithException.cs
│   │   │   ├── ClassWithGuid.cs
│   │   │   ├── ClassWithImplicitOperator.cs
│   │   │   ├── ClassWithTimeSpan.cs
│   │   │   ├── ClientMap.cs
│   │   │   ├── CollectionClassAttributeDerived.cs
│   │   │   ├── CommentTestClass.cs
│   │   │   ├── CommentTestObject.cs
│   │   │   ├── CompletionDataRequest.cs
│   │   │   ├── ComplexItem.cs
│   │   │   ├── Component.cs
│   │   │   ├── Computer.cs
│   │   │   ├── ConsoleWriter.cs
│   │   │   ├── ConstantTestClass.cs
│   │   │   ├── ConstructorAndDefaultValueAttributeTestClass.cs
│   │   │   ├── ConstructorAndRequiredTestClass.cs
│   │   │   ├── ConstructorCaseSensitivityClass.cs
│   │   │   ├── ConstructorCompexIgnoredProperty.cs
│   │   │   ├── ConstructorReadonlyFields.cs
│   │   │   ├── Container.cs
│   │   │   ├── Content.cs
│   │   │   ├── ContentBaseClass.cs
│   │   │   ├── ContentSubClass.cs
│   │   │   ├── ConverableMembers.cs
│   │   │   ├── ConvertableIntTestClass.cs
│   │   │   ├── ConverterPrecedenceClass.cs
│   │   │   ├── ConverterPrecedenceClassConverter.cs
│   │   │   ├── ConvertibleId.cs
│   │   │   ├── ConvertibleInt.cs
│   │   │   ├── CustomerDataSet.cs
│   │   │   ├── CustomerWithMetadataType.cs
│   │   │   ├── DTOWithParameterisedConstructor.cs
│   │   │   ├── DTOWithoutParameterisedConstructor.cs
│   │   │   ├── DataContractJsonSerializerTestClass.cs
│   │   │   ├── DataContractPrivateMembers.cs
│   │   │   ├── DataContractSerializationAttributesClass.cs
│   │   │   ├── DateTimeErrorObjectCollection.cs
│   │   │   ├── DateTimeOffsetTestClass.cs
│   │   │   ├── DateTimeOffsetWrapper.cs
│   │   │   ├── DateTimeTestClass.cs
│   │   │   ├── DateTimeWrapper.cs
│   │   │   ├── DecimalTest.cs
│   │   │   ├── DecimalTestClass.cs
│   │   │   ├── DefaultValueAttributeTestClass.cs
│   │   │   ├── DerivedConstructorType.cs
│   │   │   ├── DerivedEvent.cs
│   │   │   ├── DerivedSerializationEventTestObject.cs
│   │   │   ├── DerivedType.cs
│   │   │   ├── DerivedWithPrivate.cs
│   │   │   ├── DeserializeStringConvert.cs
│   │   │   ├── DictionaryInterfaceClass.cs
│   │   │   ├── DictionaryKey.cs
│   │   │   ├── DictionaryKeyCast.cs
│   │   │   ├── DictionaryKeyContractResolver.cs
│   │   │   ├── DictionaryWithNoDefaultConstructor.cs
│   │   │   ├── DictionaryWithNoNull.cs
│   │   │   ├── DirectoryAccount.cs
│   │   │   ├── DoubleClass.cs
│   │   │   ├── EmployeeReference.cs
│   │   │   ├── EmptyJsonValueTestClass.cs
│   │   │   ├── EncodingReadConverter.cs
│   │   │   ├── EnumA.cs
│   │   │   ├── EnumerableArrayPropertyClass.cs
│   │   │   ├── EnumerableClass.cs
│   │   │   ├── ErroringClass.cs
│   │   │   ├── ErroringJsonConverter.cs
│   │   │   ├── ErroringTestClass.cs
│   │   │   ├── Events/
│   │   │   │   ├── Event.cs
│   │   │   │   ├── Event1.cs
│   │   │   │   └── EventType.cs
│   │   │   ├── ExistingValueClass.cs
│   │   │   ├── FaqItem.cs
│   │   │   ├── Foo.cs
│   │   │   ├── Foo1.cs
│   │   │   ├── Foo64.cs
│   │   │   ├── FooBar1.cs
│   │   │   ├── FooConstructor.cs
│   │   │   ├── FooRequired.cs
│   │   │   ├── Friend.cs
│   │   │   ├── GameObject.cs
│   │   │   ├── GenericIEnumerableWithImplicitConversion.cs
│   │   │   ├── GenericImpl.cs
│   │   │   ├── GenericListAndDictionaryInterfaceProperties.cs
│   │   │   ├── GeoCoding/
│   │   │   │   ├── AddressDetails.cs
│   │   │   │   ├── AdministrativeArea.cs
│   │   │   │   ├── Country.cs
│   │   │   │   ├── GoogleMapGeocoderStructure.cs
│   │   │   │   ├── Locality.cs
│   │   │   │   ├── Placemark.cs
│   │   │   │   ├── Point.cs
│   │   │   │   ├── PostalCode.cs
│   │   │   │   ├── Status.cs
│   │   │   │   ├── SubAdministrativeArea.cs
│   │   │   │   └── Thoroughfare.cs
│   │   │   ├── GeometricForms/
│   │   │   │   ├── Shape.cs
│   │   │   │   └── Tags.cs
│   │   │   ├── GetOnlyPropertyClass.cs
│   │   │   ├── HasByteArray.cs
│   │   │   ├── HolderClass.cs
│   │   │   ├── Human.cs
│   │   │   ├── IInterfaceObject.cs
│   │   │   ├── IKeyValueId.cs
│   │   │   ├── IMainClass.cs
│   │   │   ├── IMyInterface.cs
│   │   │   ├── IPrivateImplementationA.cs
│   │   │   ├── IPrivateImplementationB.cs
│   │   │   ├── IPrivateOverriddenImplementation.cs
│   │   │   ├── ISerializableTestObject.cs
│   │   │   ├── ISerializableWithoutAttributeTestObject.cs
│   │   │   ├── ISubclass.cs
│   │   │   ├── ISubclassBase.cs
│   │   │   ├── IdReferenceResolver.cs
│   │   │   ├── IgnoreDataMemberTestClass.cs
│   │   │   ├── IgnoredPropertiesContractResolver.cs
│   │   │   ├── IgnoredPropertiesTestClass.cs
│   │   │   ├── IgnoredProperty.cs
│   │   │   ├── ImmutableStruct.cs
│   │   │   ├── ImplementInterfaceObject.cs
│   │   │   ├── IncompatibleJsonAttributeClass.cs
│   │   │   ├── IncompleteTestClass.cs
│   │   │   ├── IntToFloatConverter.cs
│   │   │   ├── InterfacePropertyTestClass.cs
│   │   │   ├── Invoice.cs
│   │   │   ├── Item.cs
│   │   │   ├── ItemBase.cs
│   │   │   ├── ItemConverterTestClass.cs
│   │   │   ├── ItemConverterTestConverter.cs
│   │   │   ├── JRawValueTestObject.cs
│   │   │   ├── JTokenTestClass.cs
│   │   │   ├── JaggedArray.cs
│   │   │   ├── JsonIgnoreAttributeOnClassTestClass.cs
│   │   │   ├── JsonIgnoreAttributeTestClass.cs
│   │   │   ├── JsonPropertyClass.cs
│   │   │   ├── JsonPropertyConverterContractResolver.cs
│   │   │   ├── JsonPropertyConverterTestClass.cs
│   │   │   ├── JsonPropertyWithHandlingValues.cs
│   │   │   ├── JsonReaderStubWithIsClosed.cs
│   │   │   ├── JsonTextReaderTests/
│   │   │   │   ├── FakeArrayPool.cs
│   │   │   │   ├── SlowStream.cs
│   │   │   │   ├── ToggleReaderError.cs
│   │   │   │   └── UnmanagedResourceFakingJsonReader.cs
│   │   │   ├── KVPair.cs
│   │   │   ├── KeyValueId.cs
│   │   │   ├── KeyValueTestClass.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListErrorObject.cs
│   │   │   ├── ListErrorObjectCollection.cs
│   │   │   ├── ListOfIds.cs
│   │   │   ├── ListSourceTest.cs
│   │   │   ├── ListTestClass.cs
│   │   │   ├── LogEntry.cs
│   │   │   ├── LogEvent.cs
│   │   │   ├── MailAddressReadConverter.cs
│   │   │   ├── MainClass.cs
│   │   │   ├── MemberConverterClass.cs
│   │   │   ├── MemberConverterPrecedenceClassConverter.cs
│   │   │   ├── MessageWithIsoDate.cs
│   │   │   ├── MethodExecutorObject.cs
│   │   │   ├── MetroColorConverter.cs
│   │   │   ├── MetroPropertyNameResolver.cs
│   │   │   ├── MetroStringConverter.cs
│   │   │   ├── ModelStateDictionary.cs
│   │   │   ├── Money/
│   │   │   │   ├── Currency.cs
│   │   │   │   └── Tags.cs
│   │   │   ├── Movie.cs
│   │   │   ├── MovieWithJsonObjectNullValueHandlingIgnore.cs
│   │   │   ├── MovieWithJsonObjectNullValueHandlingInclude.cs
│   │   │   ├── MultiIndexBase.cs
│   │   │   ├── MultiIndexSuper.cs
│   │   │   ├── MultipleItemsClass.cs
│   │   │   ├── MultipleParametrizedConstructorsJsonConstructor.cs
│   │   │   ├── MyClass.cs
│   │   │   ├── MyEnum.cs
│   │   │   ├── MyFactory.cs
│   │   │   ├── MyInterfaceConverter.cs
│   │   │   ├── MyObservableObject.cs
│   │   │   ├── MyTuple.cs
│   │   │   ├── MyTuplePartial.cs
│   │   │   ├── Name.cs
│   │   │   ├── NameContainer.cs
│   │   │   ├── NameContainerConverter.cs
│   │   │   ├── NoConstructorReadOnlyCollection.cs
│   │   │   ├── NoConstructorReadOnlyDictionary.cs
│   │   │   ├── NonDefaultConstructorWithReadOnlyCollectionProperty.cs
│   │   │   ├── NonDefaultConstructorWithReadOnlyDictionaryProperty.cs
│   │   │   ├── NonPublicConstructorWithJsonConstructor.cs
│   │   │   ├── NonRequest.cs
│   │   │   ├── NullTestClass.cs
│   │   │   ├── NullableDateTimeTestClass.cs
│   │   │   ├── NullableFloats.cs
│   │   │   ├── NullableGuid.cs
│   │   │   ├── NullableGuidCountingJsonTextWriter.cs
│   │   │   ├── NullableLongTestClass.cs
│   │   │   ├── NullableStructPropertyClass.cs
│   │   │   ├── NullableTestClass.cs
│   │   │   ├── ObjectArrayPropertyTest.cs
│   │   │   ├── ObservableObject.cs
│   │   │   ├── OptInClass.cs
│   │   │   ├── Organization/
│   │   │   │   ├── Employee.cs
│   │   │   │   ├── IPerson.cs
│   │   │   │   ├── Manager.cs
│   │   │   │   ├── Person.cs
│   │   │   │   ├── PersonPropertyClass.cs
│   │   │   │   └── WagePerson.cs
│   │   │   ├── Pair.cs
│   │   │   ├── ParticipantEntity.cs
│   │   │   ├── PersonConverter.cs
│   │   │   ├── PersonError.cs
│   │   │   ├── PersonRaw.cs
│   │   │   ├── PersonReference.cs
│   │   │   ├── PersonSerializable.cs
│   │   │   ├── PersonWithPrivateConstructor.cs
│   │   │   ├── PhoneNumber.cs
│   │   │   ├── PocoDataContractSerializationAttributesClass.cs
│   │   │   ├── Pos.cs
│   │   │   ├── PosConverter.cs
│   │   │   ├── PosDouble.cs
│   │   │   ├── PosDoubleConverter.cs
│   │   │   ├── PreserveReferencesCallbackTestObject.cs
│   │   │   ├── PrivateConstructorTestClass.cs
│   │   │   ├── PrivateConstructorWithPublicParameterizedConstructorTestClass.cs
│   │   │   ├── PrivateImplementationAClass.cs
│   │   │   ├── PrivateImplementationBClass.cs
│   │   │   ├── PrivateMembersClass.cs
│   │   │   ├── PrivateMembersClassWithAttributes.cs
│   │   │   ├── PrivateSetterBase.cs
│   │   │   ├── PrivateSetterDerived.cs
│   │   │   ├── Product.cs
│   │   │   ├── ProductCollection.cs
│   │   │   ├── ProductShort.cs
│   │   │   ├── PropertyCase.cs
│   │   │   ├── PropertyItemConverter.cs
│   │   │   ├── PublicConstructorOverridenByJsonConstructor.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterTestClass.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterWithParameterAttributeTestClass.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterWithPropertyAttributeTestClass.cs
│   │   │   ├── PublicParameterizedConstructorTestClass.cs
│   │   │   ├── PublicParameterizedConstructorWithNonPropertyParameterTestClass.cs
│   │   │   ├── PublicParameterizedConstructorWithPropertyNameConflict.cs
│   │   │   ├── PublicParameterizedConstructorWithPropertyNameConflictWithAttribute.cs
│   │   │   ├── Ratio.cs
│   │   │   ├── ReflectionContractResolver.cs
│   │   │   ├── RequestOnly.cs
│   │   │   ├── RequiredMembersClass.cs
│   │   │   ├── RequiredObject.cs
│   │   │   ├── RequiredPropertyConstructorTestClass.cs
│   │   │   ├── RequiredPropertyTestClass.cs
│   │   │   ├── ResponseWithNewGenericProperty.cs
│   │   │   ├── ResponseWithNewGenericPropertyOverride.cs
│   │   │   ├── ResponseWithNewGenericPropertyVirtual.cs
│   │   │   ├── RoleTransfer.cs
│   │   │   ├── RoleTransferDirection.cs
│   │   │   ├── RoleTransferOperation.cs
│   │   │   ├── RootObject.cs
│   │   │   ├── SearchResult.cs
│   │   │   ├── SelectListItem.cs
│   │   │   ├── SerializableContractResolver.cs
│   │   │   ├── SerializationEventTestDictionary.cs
│   │   │   ├── SerializationEventTestList.cs
│   │   │   ├── SerializationEventTestObject.cs
│   │   │   ├── SerializationEventTestObjectWithConstructor.cs
│   │   │   ├── SetOnlyPropertyClass.cs
│   │   │   ├── SetOnlyPropertyClass2.cs
│   │   │   ├── Shortie.cs
│   │   │   ├── SimpleResponse.cs
│   │   │   ├── SqlTypesDataSet.Designer.cs
│   │   │   ├── SqlTypesDataSet.xsc
│   │   │   ├── SqlTypesDataSet.xsd
│   │   │   ├── SqlTypesDataSet.xss
│   │   │   ├── StaticTestClass.cs
│   │   │   ├── Store.cs
│   │   │   ├── StoreColor.cs
│   │   │   ├── StringDictionaryTestClass.cs
│   │   │   ├── StructISerializable.cs
│   │   │   ├── StructTest.cs
│   │   │   ├── StructWithAttribute.cs
│   │   │   ├── SubKlass.cs
│   │   │   ├── SubWithContractNewProperties.cs
│   │   │   ├── SubWithContractVirtualProperties.cs
│   │   │   ├── SubWithoutContractNewProperties.cs
│   │   │   ├── SubWithoutContractVirtualProperties.cs
│   │   │   ├── Subclass.cs
│   │   │   ├── SuperKlass.cs
│   │   │   ├── Test.cs
│   │   │   ├── TestClass.cs
│   │   │   ├── TestClassConvertable.cs
│   │   │   ├── TestComponent.cs
│   │   │   ├── TestComponentSimple.cs
│   │   │   ├── TestObject.cs
│   │   │   ├── ThisGenericTest.cs
│   │   │   ├── TimeZoneOffsetObject.cs
│   │   │   ├── TraceWriter.cs
│   │   │   ├── TypeClass.cs
│   │   │   ├── TypeConverterJsonConverter.cs
│   │   │   ├── TypeConverterSize.cs
│   │   │   ├── TypeConverterSizeConverter.cs
│   │   │   ├── TypedSubHashtable.cs
│   │   │   ├── UriGuidTimeSpanTestClass.cs
│   │   │   ├── UserNullable.cs
│   │   │   ├── Vector.cs
│   │   │   ├── VectorParent.cs
│   │   │   ├── VersionKeyedCollection.cs
│   │   │   ├── VersionOld.cs
│   │   │   ├── VirtualOverrideNewBaseObject.cs
│   │   │   ├── VirtualOverrideNewChildObject.cs
│   │   │   ├── VirtualOverrideNewChildWithDifferentOverrideObject.cs
│   │   │   ├── Widget.cs
│   │   │   ├── Widget1.cs
│   │   │   ├── WidgetId.cs
│   │   │   ├── WidgetId1.cs
│   │   │   ├── WidgetIdJsonConverter.cs
│   │   │   ├── WithEnums.cs
│   │   │   ├── XNodeTestObject.cs
│   │   │   └── XmlNodeTestObject.cs
│   │   ├── Utilities/
│   │   │   ├── ConvertUtilsTests.cs
│   │   │   ├── DateTimeUtilsTests.cs
│   │   │   ├── DynamicReflectionDelegateFactoryTests.cs
│   │   │   ├── EnumUtilsTests.cs
│   │   │   ├── ExpressionReflectionDelegateFactoryTests.cs
│   │   │   ├── LateboundReflectionDelegateFactoryTests.cs
│   │   │   ├── ReflectionUtilsTests.cs
│   │   │   └── StringUtilsTests.cs
│   │   ├── large.json
│   │   └── large_sample.xml
│   ├── Newtonsoft.Json.slnx
│   ├── NuGet.Config
│   └── global.json
└── azure-pipelines.yml

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
*.doc  diff=astextplain
*.DOC	diff=astextplain
*.docx	diff=astextplain
*.DOCX	diff=astextplain
*.dot	diff=astextplain
*.DOT	diff=astextplain
*.pdf	diff=astextplain
*.PDF	diff=astextplain
*.rtf	diff=astextplain
*.RTF	diff=astextplain

*.jpg  	binary
*.png 	binary
*.gif 	binary
*.bson	binary

*.cs text diff=csharp 
*.vb text
*.c text
*.cpp text
*.cxx text
*.h text
*.hxx text
*.py text
*.rb text
*.java text
*.html text
*.htm text
*.css text
*.scss text
*.sass text
*.less text
*.js text
*.lisp text
*.clj text
*.sql text
*.php text
*.lua text
*.m text
*.asm text
*.erl text
*.fs text
*.fsx text
*.hs text
*.ps1 text
*.psm1 text

*.csproj text merge=union 
*.vbproj text merge=union 
*.fsproj text merge=union 
*.dbproj text merge=union 
*.sln text eol=crlf merge=union 


================================================
FILE: .github/workflows/codeql.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]
  schedule:
    - cron: '42 20 * * 6'

jobs:
  analyze:
    name: Analyze (${{ matrix.language }})
    # Runner size impacts CodeQL analysis time. To learn more, please see:
    #   - https://gh.io/recommended-hardware-resources-for-running-codeql
    #   - https://gh.io/supported-runners-and-hardware-resources
    #   - https://gh.io/using-larger-runners (GitHub.com only)
    # Consider using larger runners or machines with greater resources for possible analysis time improvements.
    runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
    permissions:
      # required for all workflows
      security-events: write

      # required to fetch internal or private CodeQL packs
      packages: read

      # only required for workflows in private repositories
      actions: read
      contents: read

    strategy:
      fail-fast: false
      matrix:
        include:
        - language: csharp
          build-mode: autobuild
        # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
        # Use `c-cpp` to analyze code written in C, C++ or both
        # Use 'java-kotlin' to analyze code written in Java, Kotlin or both
        # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
        # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
        # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
        # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
        # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    # Add any setup steps before running the `github/codeql-action/init` action.
    # This includes steps like installing compilers or runtimes (`actions/setup-node`
    # or others). This is typically only required for manual builds.
    # - name: Setup runtime (example)
    #   uses: actions/setup-example@v1

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: ${{ matrix.language }}
        build-mode: ${{ matrix.build-mode }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.

        # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
        # queries: security-extended,security-and-quality

    # If the analyze step fails for one of the languages you are analyzing with
    # "We were unable to automatically build your code", modify the matrix above
    # to set the build mode to "manual" for that language. Then modify this step
    # to build your code.
    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
    - if: matrix.build-mode == 'manual'
      shell: bash
      run: |
        echo 'If you are using a "manual" build mode for one or more of the' \
          'languages you are analyzing, replace this with the commands to build' \
          'your code, for example:'
        echo '  make bootstrap'
        echo '  make release'
        exit 1

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3
      with:
        category: "/language:${{matrix.language}}"


================================================
FILE: .gitignore
================================================
[Bb]in/
[Oo]bj/
[Ww]orking*/
Build/Temp/
Doc/doc.shfbproj_*
TestResults/
AppPackages/
BenchmarkDotNet.Artifacts/
*.suo
*.user
*.userprefs
_ReSharper.*
*.ReSharper.user
*.resharper.user
.vs/
.vscode/
*.lock.json
*.nuget.props
*.nuget.targets
*.orig
.DS_Store

================================================
FILE: Build/Sign-Package.ps1
================================================

$currentDirectory = split-path $MyInvocation.MyCommand.Definition

# See if we have the SignKeyVaultCertificate available
if ([string]::IsNullOrEmpty($Env:SignKeyVaultCertificate)){
    Write-Host "Key vault detail not found, not signing packages"
    return;
}

dotnet tool install --tool-path . --prerelease sign

$files = gci $Env:ArtifactDirectory\*.nupkg,*.zip -recurse | Select -ExpandProperty FullName
$signKeyVaultCertificate = $Env:SignKeyVaultCertificate
$signKeyVaultUrl = $Env:SignKeyVaultUrl

foreach ($file in $files){
    Write-Host "Submitting $file for signing"

    .\sign code azure-key-vault $file `
        --publisher-name "Newtonsoft" `
        --description "Json.NET" `
        --description-url "https://www.newtonsoft.com/json" `
        --azure-key-vault-certificate $signKeyVaultCertificate `
        --azure-key-vault-url $signKeyVaultUrl

    Write-Host "Finished signing $file"
}

Write-Host "Sign-package complete"

================================================
FILE: Build/appsettings.json
================================================
{
  "SignClient": {
    "AzureAd": {
      "AADInstance": "https://login.microsoftonline.com/",
      "ClientId": "c248d68a-ba6f-4aa9-8a68-71fe872063f8",
      "TenantId": "16076fdc-fcc1-4a15-b1ca-32c9a255900e"
    },
    "Service": {
      "Url": "https://codesign.dotnetfoundation.org/",
      "ResourceId": "https://SignService/3c30251f-36f3-490b-a955-520addb85001"
    }
  }
}

================================================
FILE: Build/build.ps1
================================================
properties {
  $zipFileName = "Json130r5.zip"
  $majorVersion = "13.0"
  $majorWithReleaseVersion = "13.0.5"
  $nugetPrerelease = $null
  $version = GetVersion $majorWithReleaseVersion
  $packageId = "Newtonsoft.Json"
  $signAssemblies = $false
  $signKeyPath = "C:\Development\Releases\newtonsoft.snk"
  $buildDocumentation = $false
  $buildNuGet = $true
  $msbuildVerbosity = 'minimal'
  $treatWarningsAsErrors = $false
  $workingName = if ($workingName) {$workingName} else {"Working"}
  $assemblyVersion = if ($assemblyVersion) {$assemblyVersion} else {$majorVersion + '.0.0'}
  $netCliChannel = "STS"
  $netCliVersion = "9.0.300"
  $nugetUrl = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
  $ensureNetCliSdk = $true

  $baseDir  = resolve-path ..
  $buildDir = "$baseDir\Build"
  $sourceDir = "$baseDir\Src"
  $docDir = "$baseDir\Doc"
  $releaseDir = "$baseDir\Release"
  $workingDir = "$baseDir\$workingName"

  $nugetPath = "$buildDir\Temp\nuget.exe"
  $vswhereVersion = "3.1.7"
  $vswherePath = "$buildDir\Temp\vswhere.$vswhereVersion"
  $nunitConsoleVersion = "3.8.0"
  $nunitConsolePath = "$buildDir\Temp\NUnit.ConsoleRunner.$nunitConsoleVersion"

  $builds = @(
    @{Framework = "net6.0"; TestsFunction = "NetCliTests"; TestFramework = "net6.0"; Enabled=$true},
    @{Framework = "netstandard2.0"; TestsFunction = "NetCliTests"; TestFramework = "net5.0"; Enabled=$true},
    @{Framework = "netstandard1.3"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp3.1"; Enabled=$true},
    @{Framework = "netstandard1.0"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp2.1"; Enabled=$true},
    @{Framework = "net45"; TestsFunction = "NUnitTests"; TestFramework = "net46"; NUnitFramework="net-4.0"; Enabled=$true},
    @{Framework = "net40"; TestsFunction = "NUnitTests"; NUnitFramework="net-4.0"; Enabled=$true},
    @{Framework = "net35"; TestsFunction = "NUnitTests"; NUnitFramework="net-2.0"; Enabled=$true},
    @{Framework = "net20"; TestsFunction = "NUnitTests"; NUnitFramework="net-2.0"; Enabled=$true}
  )
}

framework '4.6x86'

task default -depends Test,Package

# Ensure a clean working directory
task Clean {
  Write-Host "Setting location to $baseDir"
  Set-Location $baseDir

  if (Test-Path -path $workingDir)
  {
    Write-Host "Deleting existing working directory $workingDir"

    Execute-Command -command { del $workingDir -Recurse -Force }
  }

  Write-Host "Creating working directory $workingDir"
  New-Item -Path $workingDir -ItemType Directory

}

# Build each solution, optionally signed
task Build -depends Clean {
  $script:enabledBuilds = $builds | ? {$_.Enabled}
  Write-Host -ForegroundColor Green "Found $($script:enabledBuilds.Length) enabled builds"

  mkdir "$buildDir\Temp" -Force
  
  if ($ensureNetCliSdk)
  {
    EnsureDotNetCli
  }
  EnsureNuGetExists
  EnsureNuGetPackage "vswhere" $vswherePath $vswhereVersion
  EnsureNuGetPackage "NUnit.ConsoleRunner" $nunitConsolePath $nunitConsoleVersion

  $script:msBuildPath = GetMsBuildPath
  Write-Host "MSBuild path $script:msBuildPath"

  NetCliBuild
}

# Optional build documentation, add files to final zip
task Package -depends Build {
  foreach ($build in $script:enabledBuilds)
  {
    $finalDir = $build.Framework

    $sourcePath = "$sourceDir\Newtonsoft.Json\bin\Release\$finalDir"

    if (!(Test-Path -path $sourcePath))
    {
      throw "Could not find $sourcePath"
    }

    robocopy $sourcePath $workingDir\Package\Bin\$finalDir *.dll *.pdb *.xml /NFL /NDL /NJS /NC /NS /NP /XO /XF *.CodeAnalysisLog.xml | Out-Default
  }

  if ($buildNuGet)
  {
    Write-Host -ForegroundColor Green "Copy NuGet package"

    mkdir $workingDir\NuGet
    move -Path $sourceDir\Newtonsoft.Json\bin\Release\*.nupkg -Destination $workingDir\NuGet
    move -Path $sourceDir\Newtonsoft.Json\bin\Release\*.snupkg -Destination $workingDir\NuGet
  }

  Write-Host "Build documentation: $buildDocumentation"

  if ($buildDocumentation)
  {
    $mainBuild = $script:enabledBuilds | where { $_.Framework -eq "net45" } | select -first 1
    $mainBuildFinalDir = $mainBuild.Framework
    $documentationSourcePath = "$workingDir\Package\Bin\$mainBuildFinalDir"
    $docOutputPath = "$workingDir\Documentation\"
    Write-Host -ForegroundColor Green "Building documentation from $documentationSourcePath"
    Write-Host "Documentation output to $docOutputPath"

    # Sandcastle has issues when compiling with .NET 4 MSBuild
    exec { & $script:msBuildPath "/t:Clean;Rebuild" "/v:$msbuildVerbosity" "/p:Configuration=Release" "/p:DocumentationSourcePath=$documentationSourcePath" "/p:OutputPath=$docOutputPath" "/m" "$docDir\doc.shfbproj" | Out-Default } "Error building documentation. Check that you have Sandcastle, Sandcastle Help File Builder and HTML Help Workshop installed."

    move -Path $workingDir\Documentation\LastBuild.log -Destination $workingDir\Documentation.log
  }

  Copy-Item -Path $docDir\readme.txt -Destination $workingDir\Package\
  Copy-Item -Path $docDir\license.txt -Destination $workingDir\Package\

  robocopy $sourceDir $workingDir\Package\Source\Src /MIR /NFL /NDL /NJS /NC /NS /NP /XD bin obj TestResults AppPackages .vs artifacts /XF *.suo *.user *.lock.json | Out-Default
  robocopy $buildDir $workingDir\Package\Source\Build /MIR /NFL /NDL /NJS /NC /NS /NP /XD Temp /XF runbuild.txt | Out-Default
  robocopy $docDir $workingDir\Package\Source\Doc /MIR /NFL /NDL /NJS /NC /NS /NP | Out-Default
  
  # include fuzz tests in ADO pipeline artifacts
  mkdir $workingDir\FuzzTests
  Copy-Item -Path $sourceDir\Newtonsoft.Json.FuzzTests\bin\Release\net6.0\* -Destination $workingDir\FuzzTests

  Compress-Archive -Path $workingDir\Package\* -DestinationPath $workingDir\$zipFileName
}

task Test -depends Build {
  foreach ($build in $script:enabledBuilds)
  {
    Write-Host "Calling $($build.TestsFunction)"
    & $build.TestsFunction $build
  }
}

function NetCliBuild()
{
  $projectPath = "$sourceDir\Newtonsoft.Json.slnx"
  $libraryFrameworks = ($script:enabledBuilds | Select-Object @{Name="Framework";Expression={$_.Framework}} | select -expand Framework) -join ";"
  $testFrameworks = ($script:enabledBuilds | Select-Object @{Name="Resolved";Expression={if ($_.TestFramework -ne $null) { $_.TestFramework } else { $_.Framework }}} | select -expand Resolved) -join ";"

  $additionalConstants = switch($signAssemblies) { $true { "SIGNED" } default { "" } }

  Write-Host -ForegroundColor Green "Restoring packages for $libraryFrameworks in $projectPath"
  Write-Host

  exec { & $script:msBuildPath "/t:restore" "/v:$msbuildVerbosity" "/p:Configuration=Release" "/p:LibraryFrameworks=`"$libraryFrameworks`"" "/p:TestFrameworks=`"$testFrameworks`"" "/m" $projectPath | Out-Default } "Error restoring $projectPath"

  Write-Host -ForegroundColor Green "Building $libraryFrameworks $assemblyVersion in $projectPath"
  Write-Host

  exec { & $script:msBuildPath "/t:build" "/v:$msbuildVerbosity" $projectPath "/p:Configuration=Release" "/p:LibraryFrameworks=`"$libraryFrameworks`"" "/p:TestFrameworks=`"$testFrameworks`"" "/p:AssemblyOriginatorKeyFile=$signKeyPath" "/p:SignAssembly=$signAssemblies" "/p:TreatWarningsAsErrors=$treatWarningsAsErrors" "/p:AdditionalConstants=$additionalConstants" "/p:GeneratePackageOnBuild=$buildNuGet" "/p:ContinuousIntegrationBuild=true" "/p:PackageId=$packageId" "/p:VersionPrefix=$majorWithReleaseVersion" "/p:VersionSuffix=$nugetPrerelease" "/p:AssemblyVersion=$assemblyVersion" "/p:FileVersion=$version" "/m" }
}

function EnsureDotnetCli()
{
  Write-Host "Downloading dotnet-install.ps1"

  # https://stackoverflow.com/questions/36265534/invoke-webrequest-ssl-fails
  [Net.ServicePointManager]::SecurityProtocol = 'TLS12'
  Invoke-WebRequest `
    -Uri "https://dot.net/v1/dotnet-install.ps1" `
    -OutFile "$buildDir\Temp\dotnet-install.ps1"

  exec { & $buildDir\Temp\dotnet-install.ps1 -Channel $netCliChannel -Version $netCliVersion | Out-Default }
  exec { & $buildDir\Temp\dotnet-install.ps1 -Channel $netCliChannel -Version '6.0.400' | Out-Default }
  exec { & $buildDir\Temp\dotnet-install.ps1 -Channel $netCliChannel -Version '3.1.402' | Out-Default }
  exec { & $buildDir\Temp\dotnet-install.ps1 -Channel $netCliChannel -Version '2.1.818' | Out-Default }
}

function EnsureNuGetExists()
{
  if (!(Test-Path $nugetPath))
  {
    Write-Host "Couldn't find nuget.exe. Downloading from $nugetUrl to $nugetPath"
    (New-Object System.Net.WebClient).DownloadFile($nugetUrl, $nugetPath)
  }
}

function EnsureNuGetPackage($packageName, $packagePath, $packageVersion)
{
  if (!(Test-Path $packagePath))
  {
    Write-Host "Couldn't find $packagePath. Downloading with NuGet"
    exec { & $nugetPath install $packageName -OutputDirectory $buildDir\Temp -Version $packageVersion -ConfigFile "$sourceDir\nuget.config" | Out-Default } "Error restoring $packagePath"
  }
}

function GetMsBuildPath()
{
  $path = & $vswherePath\tools\vswhere.exe -latest -prerelease -products * -requires Microsoft.Component.MSBuild -property installationPath
  if (!($path))
  {
    throw "Could not find Visual Studio install path"
  }

  $msBuildPath = join-path $path 'MSBuild\15.0\Bin\MSBuild.exe'
  if (Test-Path $msBuildPath)
  {
    return $msBuildPath
  }

  $msBuildPath = join-path $path 'MSBuild\Current\Bin\MSBuild.exe'
  if (Test-Path $msBuildPath)
  {
    return $msBuildPath
  }

  throw "Could not find MSBuild path"
}

function NetCliTests($build)
{
  $projectPath = "$sourceDir\Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.csproj"
  $location = "$sourceDir\Newtonsoft.Json.Tests"
  $testDir = if ($build.TestFramework -ne $null) { $build.TestFramework } else { $build.Framework }

  try
  {
    Set-Location $location

    exec { dotnet --version | Out-Default }

    Write-Host -ForegroundColor Green "Running tests for $testDir"
    Write-Host "Location: $location"
    Write-Host "Project path: $projectPath"
    Write-Host

    exec { dotnet test $projectPath -f $testDir -c Release -l trx --results-directory $workingDir --no-restore --no-build | Out-Default }
  }
  finally
  {
    Set-Location $baseDir
  }
}

function NUnitTests($build)
{
  $testDir = if ($build.TestFramework -ne $null) { $build.TestFramework } else { $build.Framework }
  $framework = $build.NUnitFramework
  $testRunDir = "$sourceDir\Newtonsoft.Json.Tests\bin\Release\$testDir"

  Write-Host -ForegroundColor Green "Running NUnit tests $testDir"
  Write-Host
  try
  {
    Set-Location $testRunDir
    exec { & $nunitConsolePath\tools\nunit3-console.exe "$testRunDir\Newtonsoft.Json.Tests.dll" --framework=$framework --result=$workingDir\$testDir.xml --out=$workingDir\$testDir.txt | Out-Default } "Error running $testDir tests"
  }
  finally
  {
    Set-Location $baseDir
  }
}

function GetVersion($majorVersion)
{
    $now = [DateTime]::Now

    $year = $now.Year - 2000
    $month = $now.Month
    $totalMonthsSince2000 = ($year * 12) + $month
    $day = $now.Day
    $minor = "{0}{1:00}" -f $totalMonthsSince2000, $day

    $hour = $now.Hour
    $minute = $now.Minute
    $revision = "{0:00}{1:00}" -f $hour, $minute

    return $majorVersion + "." + $minor
}

function Edit-XmlNodes {
    param (
        [xml] $doc,
        [string] $xpath = $(throw "xpath is a required parameter"),
        [string] $value = $(throw "value is a required parameter")
    )

    $nodes = $doc.SelectNodes($xpath)
    $count = $nodes.Count

    Write-Host "Found $count nodes with path '$xpath'"

    foreach ($node in $nodes) {
        if ($node -ne $null) {
            if ($node.NodeType -eq "Element")
            {
                $node.InnerXml = $value
            }
            else
            {
                $node.Value = $value
            }
        }
    }
}

function Execute-Command($command) {
    $currentRetry = 0
    $success = $false
    do {
        try
        {
            & $command
            $success = $true
        }
        catch [System.Exception]
        {
            if ($currentRetry -gt 5) {
                throw $_.Exception.ToString()
            } else {
                write-host "Retry $currentRetry"
                Start-Sleep -s 1
            }
            $currentRetry = $currentRetry + 1
        }
    } while (!$success)
}


================================================
FILE: Build/localbuild.ps1
================================================
Start-Transcript ($PSScriptRoot + '\Temp\runbuild.txt')

$version = Get-Content "$PSScriptRoot\version.json" | Out-String | ConvertFrom-Json

& $PSScriptRoot\runbuild.ps1 -properties @{"majorVersion"="$($version.Major).0"; "majorWithReleaseVersion"="$($version.Major).0.$($version.Release)"; "nugetPrerelease"=$version.Prerelease; "zipFileName"="Json$($version.Major)0r$($version.Release).zip"; "treatWarningsAsErrors"=$true}

================================================
FILE: Build/psake.psm1
================================================
# psake
# Copyright (c) 2012 James Kovacs
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

#Requires -Version 2.0

#-- Public Module Functions --#

# .ExternalHelp  psake.psm1-help.xml
function Invoke-Task
{
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)] [string]$taskName
    )

    Assert $taskName ($msgs.error_invalid_task_name)

    $taskKey = $taskName.ToLower()

    if ($currentContext.aliases.Contains($taskKey)) {
        $taskName = $currentContext.aliases.$taskKey.Name
        $taskKey = $taskName.ToLower()
    }

    $currentContext = $psake.context.Peek()

    Assert ($currentContext.tasks.Contains($taskKey)) ($msgs.error_task_name_does_not_exist -f $taskName)

    if ($currentContext.executedTasks.Contains($taskKey))  { return }

    Assert (!$currentContext.callStack.Contains($taskKey)) ($msgs.error_circular_reference -f $taskName)

    $currentContext.callStack.Push($taskKey)

    $task = $currentContext.tasks.$taskKey

    $precondition_is_valid = & $task.Precondition

    if (!$precondition_is_valid) {
        WriteColoredOutput ($msgs.precondition_was_false -f $taskName) -foregroundcolor Cyan
    } else {
        if ($taskKey -ne 'default') {

            if ($task.PreAction -or $task.PostAction) {
                Assert ($task.Action -ne $null) ($msgs.error_missing_action_parameter -f $taskName)
            }

            if ($task.Action) {
                try {
                    foreach($childTask in $task.DependsOn) {
                        Invoke-Task $childTask
                    }

                    $stopwatch = [System.Diagnostics.Stopwatch]::StartNew()
                    $currentContext.currentTaskName = $taskName

                    & $currentContext.taskSetupScriptBlock

                    if ($task.PreAction) {
                        & $task.PreAction
                    }

                    if ($currentContext.config.taskNameFormat -is [ScriptBlock]) {
                        & $currentContext.config.taskNameFormat $taskName
                    } else {
                        WriteColoredOutput ($currentContext.config.taskNameFormat -f $taskName) -foregroundcolor Cyan
                    }

                    foreach ($variable in $task.requiredVariables) {
                        Assert ((test-path "variable:$variable") -and ((get-variable $variable).Value -ne $null)) ($msgs.required_variable_not_set -f $variable, $taskName)
                    }

                    & $task.Action

                    if ($task.PostAction) {
                        & $task.PostAction
                    }

                    & $currentContext.taskTearDownScriptBlock
                    $task.Duration = $stopwatch.Elapsed
                } catch {
                    if ($task.ContinueOnError) {
                        "-"*70
                        WriteColoredOutput ($msgs.continue_on_error -f $taskName,$_) -foregroundcolor Yellow
                        "-"*70
                        $task.Duration = $stopwatch.Elapsed
                    }  else {
                        throw $_
                    }
                }
            } else {
                # no action was specified but we still execute all the dependencies
                foreach($childTask in $task.DependsOn) {
                    Invoke-Task $childTask
                }
            }
        } else {
            foreach($childTask in $task.DependsOn) {
                Invoke-Task $childTask
            }
        }

        Assert (& $task.Postcondition) ($msgs.postcondition_failed -f $taskName)
    }

    $poppedTaskKey = $currentContext.callStack.Pop()
    Assert ($poppedTaskKey -eq $taskKey) ($msgs.error_corrupt_callstack -f $taskKey,$poppedTaskKey)

    $currentContext.executedTasks.Push($taskKey)
}

# .ExternalHelp  psake.psm1-help.xml
function Exec
{
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][scriptblock]$cmd,
        [Parameter(Position=1,Mandatory=0)][string]$errorMessage = ($msgs.error_bad_command -f $cmd),
        [Parameter(Position=2,Mandatory=0)][int]$maxRetries = 0,
        [Parameter(Position=3,Mandatory=0)][string]$retryTriggerErrorPattern = $null
    )

    $tryCount = 1

    do {
        try {
            $global:lastexitcode = 0
            & $cmd
            if ($lastexitcode -ne 0) {
                throw ("Exec: " + $errorMessage)
            }
            break
        }
        catch [Exception]
        {
            if ($tryCount -gt $maxRetries) {
                throw $_
            }

            if ($retryTriggerErrorPattern -ne $null) {
                $isMatch = [regex]::IsMatch($_.Exception.Message, $retryTriggerErrorPattern)

                if ($isMatch -eq $false) {
                    throw $_
                }
            }

            Write-Host "Try $tryCount failed, retrying again in 1 second..."

            $tryCount++

            [System.Threading.Thread]::Sleep([System.TimeSpan]::FromSeconds(1))
        }
    }
    while ($true)
}

# .ExternalHelp  psake.psm1-help.xml
function Assert
{
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)]$conditionToCheck,
        [Parameter(Position=1,Mandatory=1)]$failureMessage
    )
    if (!$conditionToCheck) {
        throw ("Assert: " + $failureMessage)
    }
}

# .ExternalHelp  psake.psm1-help.xml
function Task
{
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][string]$name = $null,
        [Parameter(Position=1,Mandatory=0)][scriptblock]$action = $null,
        [Parameter(Position=2,Mandatory=0)][scriptblock]$preaction = $null,
        [Parameter(Position=3,Mandatory=0)][scriptblock]$postaction = $null,
        [Parameter(Position=4,Mandatory=0)][scriptblock]$precondition = {$true},
        [Parameter(Position=5,Mandatory=0)][scriptblock]$postcondition = {$true},
        [Parameter(Position=6,Mandatory=0)][switch]$continueOnError = $false,
        [Parameter(Position=7,Mandatory=0)][string[]]$depends = @(),
        [Parameter(Position=8,Mandatory=0)][string[]]$requiredVariables = @(),
        [Parameter(Position=9,Mandatory=0)][string]$description = $null,
        [Parameter(Position=10,Mandatory=0)][string]$alias = $null,
        [Parameter(Position=11,Mandatory=0)][string]$maxRetries = 0,
        [Parameter(Position=12,Mandatory=0)][string]$retryTriggerErrorPattern = $null
    )
    if ($name -eq 'default') {
        Assert (!$action) ($msgs.error_default_task_cannot_have_action)
    }

    $newTask = @{
        Name = $name
        DependsOn = $depends
        PreAction = $preaction
        Action = $action
        PostAction = $postaction
        Precondition = $precondition
        Postcondition = $postcondition
        ContinueOnError = $continueOnError
        Description = $description
        Duration = [System.TimeSpan]::Zero
        RequiredVariables = $requiredVariables
        Alias = $alias
        MaxRetries = $maxRetries
        RetryTriggerErrorPattern = $retryTriggerErrorPattern
    }

    $taskKey = $name.ToLower()

    $currentContext = $psake.context.Peek()

    Assert (!$currentContext.tasks.ContainsKey($taskKey)) ($msgs.error_duplicate_task_name -f $name)

    $currentContext.tasks.$taskKey = $newTask

    if($alias)
    {
        $aliasKey = $alias.ToLower()

        Assert (!$currentContext.aliases.ContainsKey($aliasKey)) ($msgs.error_duplicate_alias_name -f $alias)

        $currentContext.aliases.$aliasKey = $newTask
    }
}

# .ExternalHelp  psake.psm1-help.xml
function Properties {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][scriptblock]$properties
    )
    $psake.context.Peek().properties += $properties
}

# .ExternalHelp  psake.psm1-help.xml
function Include {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][string]$fileNamePathToInclude
    )
    Assert (test-path $fileNamePathToInclude -pathType Leaf) ($msgs.error_invalid_include_path -f $fileNamePathToInclude)
    $psake.context.Peek().includes.Enqueue((Resolve-Path $fileNamePathToInclude));
}

# .ExternalHelp  psake.psm1-help.xml
function FormatTaskName {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)]$format
    )
    $psake.context.Peek().config.taskNameFormat = $format
}

# .ExternalHelp  psake.psm1-help.xml
function TaskSetup {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][scriptblock]$setup
    )
    $psake.context.Peek().taskSetupScriptBlock = $setup
}

# .ExternalHelp  psake.psm1-help.xml
function TaskTearDown {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][scriptblock]$teardown
    )
    $psake.context.Peek().taskTearDownScriptBlock = $teardown
}

# .ExternalHelp  psake.psm1-help.xml
function Framework {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][string]$framework
    )
    $psake.context.Peek().config.framework = $framework
    ConfigureBuildEnvironment
}

# .ExternalHelp  psake.psm1-help.xml
function Invoke-psake {
    [CmdletBinding()]
    param(
        [Parameter(Position = 0, Mandatory = 0)][string] $buildFile,
        [Parameter(Position = 1, Mandatory = 0)][string[]] $taskList = @(),
        [Parameter(Position = 2, Mandatory = 0)][string] $framework,
        [Parameter(Position = 3, Mandatory = 0)][switch] $docs = $false,
        [Parameter(Position = 4, Mandatory = 0)][hashtable] $parameters = @{},
        [Parameter(Position = 5, Mandatory = 0)][hashtable] $properties = @{},
        [Parameter(Position = 6, Mandatory = 0)][alias("init")][scriptblock] $initialization = {},
        [Parameter(Position = 7, Mandatory = 0)][switch] $nologo = $false,
        [Parameter(Position = 8, Mandatory = 0)][switch] $detailedDocs = $false
    )
    try {
        if (-not $nologo) {
            "psake version {0}`nCopyright (c) 2010-2015 James Kovacs, Damian Hickey & Contributors`n" -f $psake.version
        }

        if (!$buildFile) {
          $buildFile = $psake.config_default.buildFileName
        }
        elseif (!(test-path $buildFile -pathType Leaf) -and (test-path $psake.config_default.buildFileName -pathType Leaf)) {
            # If the $config.buildFileName file exists and the given "buildfile" isn 't found assume that the given
            # $buildFile is actually the target Tasks to execute in the $config.buildFileName script.
            $taskList = $buildFile.Split(', ')
            $buildFile = $psake.config_default.buildFileName
        }

        # Execute the build file to set up the tasks and defaults
        Assert (test-path $buildFile -pathType Leaf) ($msgs.error_build_file_not_found -f $buildFile)

        $psake.build_script_file = get-item $buildFile
        $psake.build_script_dir = $psake.build_script_file.DirectoryName
        $psake.build_success = $false

        $psake.context.push(@{
            "taskSetupScriptBlock" = {};
            "taskTearDownScriptBlock" = {};
            "executedTasks" = new-object System.Collections.Stack;
            "callStack" = new-object System.Collections.Stack;
            "originalEnvPath" = $env:path;
            "originalDirectory" = get-location;
            "originalErrorActionPreference" = $global:ErrorActionPreference;
            "tasks" = @{};
            "aliases" = @{};
            "properties" = @();
            "includes" = new-object System.Collections.Queue;
            "config" = CreateConfigurationForNewContext $buildFile $framework
        })

        LoadConfiguration $psake.build_script_dir

        $stopwatch = [System.Diagnostics.Stopwatch]::StartNew()

        set-location $psake.build_script_dir

        LoadModules

        $frameworkOldValue = $framework
        . $psake.build_script_file.FullName

        $currentContext = $psake.context.Peek()

        if ($framework -ne $frameworkOldValue) {
            writecoloredoutput $msgs.warning_deprecated_framework_variable -foregroundcolor Yellow
            $currentContext.config.framework = $framework
        }

        ConfigureBuildEnvironment

        while ($currentContext.includes.Count -gt 0) {
            $includeFilename = $currentContext.includes.Dequeue()
            . $includeFilename
        }

        if ($docs -or $detailedDocs) {
            WriteDocumentation($detailedDocs)
            CleanupEnvironment
            return
        }

        foreach ($key in $parameters.keys) {
            if (test-path "variable:\$key") {
                set-item -path "variable:\$key" -value $parameters.$key -WhatIf:$false -Confirm:$false | out-null
            } else {
                new-item -path "variable:\$key" -value $parameters.$key -WhatIf:$false -Confirm:$false | out-null
            }
        }

        # The initial dot (.) indicates that variables initialized/modified in the propertyBlock are available in the parent scope.
        foreach ($propertyBlock in $currentContext.properties) {
            . $propertyBlock
        }

        foreach ($key in $properties.keys) {
            if (test-path "variable:\$key") {
                set-item -path "variable:\$key" -value $properties.$key -WhatIf:$false -Confirm:$false | out-null
            }
        }

        # Simple dot sourcing will not work. We have to force the script block into our
        # module's scope in order to initialize variables properly.
        . $MyInvocation.MyCommand.Module $initialization

        # Execute the list of tasks or the default task
        if ($taskList) {
            foreach ($task in $taskList) {
                invoke-task $task
            }
        } elseif ($currentContext.tasks.default) {
            invoke-task default
        } else {
            throw $msgs.error_no_default_task
        }

        WriteColoredOutput ("`n" + $msgs.build_success + "`n") -foregroundcolor Green

        WriteTaskTimeSummary $stopwatch.Elapsed

        $psake.build_success = $true
    } catch {
        $currentConfig = GetCurrentConfigurationOrDefault
        if ($currentConfig.verboseError) {
            $error_message = "{0}: An Error Occurred. See Error Details Below: `n" -f (Get-Date)
            $error_message += ("-" * 70) + "`n"
            $error_message += "Error: {0}`n" -f (ResolveError $_ -Short)
            $error_message += ("-" * 70) + "`n"
            $error_message += ResolveError $_
            $error_message += ("-" * 70) + "`n"
            $error_message += "Script Variables" + "`n"
            $error_message += ("-" * 70) + "`n"
            $error_message += get-variable -scope script | format-table | out-string
        } else {
            # ($_ | Out-String) gets error messages with source information included.
            $error_message = "Error: {0}: `n{1}" -f (Get-Date), (ResolveError $_ -Short)
        }

        $psake.build_success = $false

        # if we are running in a nested scope (i.e. running a psake script from a psake script) then we need to re-throw the exception
        # so that the parent script will fail otherwise the parent script will report a successful build
        $inNestedScope = ($psake.context.count -gt 1)
        if ( $inNestedScope ) {
            throw $_
        } else {
            if (!$psake.run_by_psake_build_tester) {
                WriteColoredOutput $error_message -foregroundcolor Red
            }
        }
    } finally {
        CleanupEnvironment
    }
}

#-- Private Module Functions --#
function WriteColoredOutput {
    param(
        [string] $message,
        [System.ConsoleColor] $foregroundcolor
    )

    $currentConfig = GetCurrentConfigurationOrDefault
    if ($currentConfig.coloredOutput -eq $true) {
        if (($Host.UI -ne $null) -and ($Host.UI.RawUI -ne $null) -and ($Host.UI.RawUI.ForegroundColor -ne $null)) {
            $previousColor = $Host.UI.RawUI.ForegroundColor
            $Host.UI.RawUI.ForegroundColor = $foregroundcolor
        }
    }

    $message

    if ($previousColor -ne $null) {
        $Host.UI.RawUI.ForegroundColor = $previousColor
    }
}

function LoadModules {
    $currentConfig = $psake.context.peek().config
    if ($currentConfig.modules) {

        $scope = $currentConfig.moduleScope

        $global = [string]::Equals($scope, "global", [StringComparison]::CurrentCultureIgnoreCase)

        $currentConfig.modules | foreach {
            resolve-path $_ | foreach {
                "Loading module: $_"
                $module = import-module $_ -passthru -DisableNameChecking -global:$global
                if (!$module) {
                    throw ($msgs.error_loading_module -f $_.Name)
                }
            }
        }
        ""
    }
}

function LoadConfiguration {
    param(
        [string] $configdir = $PSScriptRoot
    )

    $psakeConfigFilePath = (join-path $configdir "psake-config.ps1")

    if (test-path $psakeConfigFilePath -pathType Leaf) {
        try {
            $config = GetCurrentConfigurationOrDefault
            . $psakeConfigFilePath
        } catch {
            throw "Error Loading Configuration from psake-config.ps1: " + $_
        }
    }
}

function GetCurrentConfigurationOrDefault() {
    if ($psake.context.count -gt 0) {
        return $psake.context.peek().config
    } else {
        return $psake.config_default
    }
}

function CreateConfigurationForNewContext {
    param(
        [string] $buildFile,
        [string] $framework
    )

    $previousConfig = GetCurrentConfigurationOrDefault

    $config = new-object psobject -property @{
        buildFileName = $previousConfig.buildFileName;
        framework = $previousConfig.framework;
        taskNameFormat = $previousConfig.taskNameFormat;
        verboseError = $previousConfig.verboseError;
        coloredOutput = $previousConfig.coloredOutput;
        modules = $previousConfig.modules;
        moduleScope =  $previousConfig.moduleScope;
    }

    if ($framework) {
        $config.framework = $framework;
    }

    if ($buildFile) {
        $config.buildFileName = $buildFile;
    }

    return $config
}

function ConfigureBuildEnvironment {
    $framework = $psake.context.peek().config.framework
    if ($framework -cmatch '^((?:\d+\.\d+)(?:\.\d+){0,1})(x86|x64){0,1}$') {
        $versionPart = $matches[1]
        $bitnessPart = $matches[2]
    } else {
        throw ($msgs.error_invalid_framework -f $framework)
    }
    $versions = $null
    $buildToolsVersions = $null
    switch ($versionPart) {
        '1.0' {
            $versions = @('v1.0.3705')
        }
        '1.1' {
            $versions = @('v1.1.4322')
        }
        '2.0' {
            $versions = @('v2.0.50727')
        }
        '3.0' {
            $versions = @('v2.0.50727')
        }
        '3.5' {
            $versions = @('v3.5', 'v2.0.50727')
        }
        '4.0' {
            $versions = @('v4.0.30319')
        }
        {($_ -eq '4.5.1') -or ($_ -eq '4.5.2')} {
            $versions = @('v4.0.30319')
            $buildToolsVersions = @('14.0', '12.0')
        }
        '4.6' {
            $versions = @('v4.0.30319')
            $buildToolsVersions = @('14.0')
        }

        default {
            throw ($msgs.error_unknown_framework -f $versionPart, $framework)
        }
    }

    $bitness = 'Framework'
    if ($versionPart -ne '1.0' -and $versionPart -ne '1.1') {
        switch ($bitnessPart) {
            'x86' {
                $bitness = 'Framework'
                $buildToolsKey = 'MSBuildToolsPath32'
            }
            'x64' {
                $bitness = 'Framework64'
                $buildToolsKey = 'MSBuildToolsPath'
            }
            { [string]::IsNullOrEmpty($_) } {
                $ptrSize = [System.IntPtr]::Size
                switch ($ptrSize) {
                    4 {
                        $bitness = 'Framework'
                        $buildToolsKey = 'MSBuildToolsPath32'
                    }
                    8 {
                        $bitness = 'Framework64'
                        $buildToolsKey = 'MSBuildToolsPath'
                    }
                    default {
                        throw ($msgs.error_unknown_pointersize -f $ptrSize)
                    }
                }
            }
            default {
                throw ($msgs.error_unknown_bitnesspart -f $bitnessPart, $framework)
            }
        }
    }
    $frameworkDirs = @()
    if ($buildToolsVersions -ne $null) {
        foreach($ver in $buildToolsVersions) {
            if (Test-Path "HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\$ver") {
                $frameworkDirs += (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\$ver" -Name $buildToolsKey).$buildToolsKey
            }
        }
    }
    $frameworkDirs = $frameworkDirs + @($versions | foreach { "$env:windir\Microsoft.NET\$bitness\$_\" })

    for ($i = 0; $i -lt $frameworkDirs.Count; $i++) {
        $dir = $frameworkDirs[$i]
        if ($dir -Match "\$\(Registry:HKEY_LOCAL_MACHINE(.*?)@(.*)\)") {
            $key = "HKLM:" + $matches[1]
            $name = $matches[2]
            $dir = (Get-ItemProperty -Path $key -Name $name).$name
            $frameworkDirs[$i] = $dir
        }
    }

    $frameworkDirs | foreach { Assert (test-path $_ -pathType Container) ($msgs.error_no_framework_install_dir_found -f $_)}

    $env:path = ($frameworkDirs -join ";") + ";$env:path"
    # if any error occurs in a PS function then "stop" processing immediately
    # this does not effect any external programs that return a non-zero exit code
    $global:ErrorActionPreference = "Stop"
}

function CleanupEnvironment {
    if ($psake.context.Count -gt 0) {
        $currentContext = $psake.context.Peek()
        $env:path = $currentContext.originalEnvPath
        Set-Location $currentContext.originalDirectory
        $global:ErrorActionPreference = $currentContext.originalErrorActionPreference
        [void] $psake.context.Pop()
    }
}

function SelectObjectWithDefault
{
    [CmdletBinding()]
    param(
        [Parameter(ValueFromPipeline=$true)]
        [PSObject]
        $InputObject,
        [string]
        $Name,
        $Value
    )

    process {
        if ($_ -eq $null) { $Value }
        elseif ($_ | Get-Member -Name $Name) {
          $_.$Name
        }
        elseif (($_ -is [Hashtable]) -and ($_.Keys -contains $Name)) {
          $_.$Name
        }
        else { $Value }
    }
}

# borrowed from Jeffrey Snover http://blogs.msdn.com/powershell/archive/2006/12/07/resolve-error.aspx
# modified to better handle SQL errors
function ResolveError
{
    [CmdletBinding()]
    param(
        [Parameter(ValueFromPipeline=$true)]
        $ErrorRecord=$Error[0],
        [Switch]
        $Short
    )

    process {
        if ($_ -eq $null) { $_ = $ErrorRecord }
        $ex = $_.Exception

        if (-not $Short) {
            $error_message = "`nErrorRecord:{0}ErrorRecord.InvocationInfo:{1}Exception:`n{2}"
            $formatted_errorRecord = $_ | format-list * -force | out-string
            $formatted_invocationInfo = $_.InvocationInfo | format-list * -force | out-string
            $formatted_exception = ''

            $i = 0
            while ($ex -ne $null) {
                $i++
                $formatted_exception += ("$i" * 70) + "`n" +
                    ($ex | format-list * -force | out-string) + "`n"
                $ex = $ex | SelectObjectWithDefault -Name 'InnerException' -Value $null
            }

            return $error_message -f $formatted_errorRecord, $formatted_invocationInfo, $formatted_exception
        }

        $lastException = @()
        while ($ex -ne $null) {
            $lastMessage = $ex | SelectObjectWithDefault -Name 'Message' -Value ''
            $lastException += ($lastMessage -replace "`n", '')
            if ($ex -is [Data.SqlClient.SqlException]) {
                $lastException += "(Line [$($ex.LineNumber)] " +
                    "Procedure [$($ex.Procedure)] Class [$($ex.Class)] " +
                    " Number [$($ex.Number)] State [$($ex.State)] )"
            }
            $ex = $ex | SelectObjectWithDefault -Name 'InnerException' -Value $null
        }
        $shortException = $lastException -join ' --> '

        $header = $null
        $current = $_
        $header = (($_.InvocationInfo |
            SelectObjectWithDefault -Name 'PositionMessage' -Value '') -replace "`n", ' '),
            ($_ | SelectObjectWithDefault -Name 'Message' -Value ''),
            ($_ | SelectObjectWithDefault -Name 'Exception' -Value '') |
                ? { -not [String]::IsNullOrEmpty($_) } |
                Select -First 1

        $delimiter = ''
        if ((-not [String]::IsNullOrEmpty($header)) -and
            (-not [String]::IsNullOrEmpty($shortException)))
            { $delimiter = ' [<<==>>] ' }

        return "$($header)$($delimiter)Exception: $($shortException)"
    }
}

function WriteDocumentation($showDetailed) {
    $currentContext = $psake.context.Peek()

    if ($currentContext.tasks.default) {
        $defaultTaskDependencies = $currentContext.tasks.default.DependsOn
    } else {
        $defaultTaskDependencies = @()
    }

    $docs = $currentContext.tasks.Keys | foreach-object {
        if ($_ -eq "default") {
            return
        }

        $task = $currentContext.tasks.$_
        new-object PSObject -property @{
            Name = $task.Name;
            Alias = $task.Alias;
            Description = $task.Description;
            "Depends On" = $task.DependsOn -join ", "
            Default = if ($defaultTaskDependencies -contains $task.Name) { $true }
        }
    }
    if ($showDetailed) {
        $docs | sort 'Name' | format-list -property Name,Alias,Description,"Depends On",Default
    } else {
        $docs | sort 'Name' | format-table -autoSize -wrap -property Name,Alias,"Depends On",Default,Description
    }

}

function WriteTaskTimeSummary($invokePsakeDuration) {
    if ($psake.context.count -gt 0) {
        "-" * 70
        "Build Time Report"
        "-" * 70
        $list = @()
        $currentContext = $psake.context.Peek()
        while ($currentContext.executedTasks.Count -gt 0) {
            $taskKey = $currentContext.executedTasks.Pop()
            $task = $currentContext.tasks.$taskKey
            if ($taskKey -eq "default") {
                continue
            }
            $list += new-object PSObject -property @{
                Name = $task.Name;
                Duration = $task.Duration
            }
        }
        [Array]::Reverse($list)
        $list += new-object PSObject -property @{
            Name = "Total:";
            Duration = $invokePsakeDuration
        }
        # using "out-string | where-object" to filter out the blank line that format-table prepends
        $list | format-table -autoSize -property Name,Duration | out-string -stream | where-object { $_ }
    }
}

DATA msgs {
convertfrom-stringdata @'
    error_invalid_task_name = Task name should not be null or empty string.
    error_task_name_does_not_exist = Task {0} does not exist.
    error_circular_reference = Circular reference found for task {0}.
    error_missing_action_parameter = Action parameter must be specified when using PreAction or PostAction parameters for task {0}.
    error_corrupt_callstack = Call stack was corrupt. Expected {0}, but got {1}.
    error_invalid_framework = Invalid .NET Framework version, {0} specified.
    error_unknown_framework = Unknown .NET Framework version, {0} specified in {1}.
    error_unknown_pointersize = Unknown pointer size ({0}) returned from System.IntPtr.
    error_unknown_bitnesspart = Unknown .NET Framework bitness, {0}, specified in {1}.
    error_no_framework_install_dir_found = No .NET Framework installation directory found at {0}.
    error_bad_command = Error executing command {0}.
    error_default_task_cannot_have_action = 'default' task cannot specify an action.
    error_duplicate_task_name = Task {0} has already been defined.
    error_duplicate_alias_name = Alias {0} has already been defined.
    error_invalid_include_path = Unable to include {0}. File not found.
    error_build_file_not_found = Could not find the build file {0}.
    error_no_default_task = 'default' task required.
    error_loading_module = Error loading module {0}.
    warning_deprecated_framework_variable = Warning: Using global variable $framework to set .NET framework version used is deprecated. Instead use Framework function or configuration file psake-config.ps1.
    required_variable_not_set = Variable {0} must be set to run task {1}.
    postcondition_failed = Postcondition failed for task {0}.
    precondition_was_false = Precondition was false, not executing task {0}.
    continue_on_error = Error in task {0}. {1}
    build_success = Build Succeeded!
'@
}

import-localizeddata -bindingvariable msgs -erroraction silentlycontinue

$script:psake = @{}
$psake.version = "4.4.2" # contains the current version of psake
$psake.context = new-object system.collections.stack # holds onto the current state of all variables
$psake.run_by_psake_build_tester = $false # indicates that build is being run by psake-BuildTester
$psake.config_default = new-object psobject -property @{
    buildFileName = "default.ps1";
    framework = "4.0";
    taskNameFormat = "Executing {0}";
    verboseError = $false;
    coloredOutput = $true;
    modules = $null;
    moduleScope = "";
} # contains default configuration, can be overriden in psake-config.ps1 in directory with psake.psm1 or in directory with current build script

$psake.build_success = $false # indicates that the current build was successful
$psake.build_script_file = $null # contains a System.IO.FileInfo for the current build script
$psake.build_script_dir = "" # contains a string with fully-qualified path to current build script

LoadConfiguration

export-modulemember -function Invoke-psake, Invoke-Task, Task, Properties, Include, FormatTaskName, TaskSetup, TaskTearDown, Framework, Assert, Exec -variable psake


================================================
FILE: Build/runbuild.cmd
================================================
cls
powershell -Command "& { Start-Transcript '%~dp0\Temp\runbuild.txt'; Import-Module '%~dp0\psake.psm1'; Invoke-psake '%~dp0..\Build\build.ps1' %*; Stop-Transcript; exit !($psake.build_success); }"

ECHO %ERRORLEVEL%
EXIT /B %ERRORLEVEL%

================================================
FILE: Build/runbuild.ps1
================================================
param(
    [hashtable] $parameters = @{},
    [hashtable] $properties = @{}
)

$path = Split-Path -Path $MyInvocation.MyCommand.Path

write-host "Importing psake"
Import-Module ($path + '\psake.psm1')

Try
{
  write-host "Starting build.ps1"
  Invoke-psake ($path + '\build.ps1') -properties $properties -parameters $parameters

  if ($psake.build_success -eq $false)
  {
    write-host "build.ps1 failed" -fore RED
    exit 1
  }
  else
  {
    write-host "build.ps1 succeeded" -fore GREEN
    exit 0
  }
}
Finally
{
  Remove-Module psake
}

================================================
FILE: Build/version.json
================================================
{
  "Major": 13,
  "Release": 5,
  "Prerelease": "beta1",
  "Assembly": null
}

================================================
FILE: CONTRIBUTING.md
================================================
# How to contribute

Please read these guidelines before contributing to Json.NET:

 - [Question or Problem?](#question)
 - [Issues and Bugs](#issue)
 - [Feature Requests](#feature)
 - [Submitting a Pull Request](#pullrequest)
 - [Contributor License Agreement](#cla)


## <a name="question"></a> Got a Question or Problem?

If you have questions about how to use Json.NET, please read the
[Json.NET documentation][documentation] or ask on [Stack Overflow][stackoverflow]. There are
thousands of Json.NET questions on Stack Overflow with the [json.net][stackoverflow] tag.

GitHub issues are only for [reporting bugs](#issue) and [feature requests](#feature), not
questions or help.


## <a name="issue"></a> Found an Issue?

If you find a bug in the source code or a mistake in the documentation, you can help by
submitting an issue to the [GitHub Repository][github]. Even better you can submit a Pull Request
with a fix.

When submitting an issue please include the following information:

- A description of the issue
- The JSON, classes, and Json.NET code related to the issue
- The exception message and stacktrace if an error was thrown
- If possible, please include code that reproduces the issue. [DropBox][dropbox] or GitHub's
[Gist][gist] can be used to share large code samples, or you could
[submit a pull request](#pullrequest) with the issue reproduced in a new test.

The more information you include about the issue, the more likely it is to be fixed!


## <a name="feature"></a> Want a Feature?

You can request a new feature by submitting an issue to the [GitHub Repository][github]. Before
requesting a feature consider the following:

- Json.NET has many extensibility points, it is possible you can implement your feature today without
modifying Json.NET
- Stability is important. Json.NET is used by thousands of other libraries and features that require
large breaking changes are unlikely to be accepted


## <a name="pullrequest"></a> Submitting a Pull Request

When submitting a pull request to the [GitHub Repository][github] make sure to do the following:

- Check that new and updated code follows Json.NET's existing code formatting and naming standard
- Run Json.NET's unit tests to ensure no existing functionality has been affected
- Write new unit tests to test your changes. All features and fixed bugs must have tests to verify
they work

Read [GitHub Help][pullrequesthelp] for more details about creating pull requests.


## <a name="cla"></a> Contributor License Agreement

By contributing your code to Json.NET you grant James Newton-King a non-exclusive, irrevocable, worldwide,
royalty-free, sublicenseable, transferable license under all of Your relevant intellectual property rights
(including copyright, patent, and any other rights), to use, copy, prepare derivative works of, distribute and
publicly perform and display the Contributions on any licensing terms, including without limitation:
(a) open source licenses like the MIT license; and (b) binary, proprietary, or commercial licenses. Except for the
licenses granted herein, You reserve all right, title, and interest in and to the Contribution.

You confirm that you are able to grant us these rights. You represent that You are legally entitled to grant the
above license. If Your employer has rights to intellectual property that You create, You represent that You have
received permission to make the Contributions on behalf of that employer, or that Your employer has waived such
rights for the Contributions.

You represent that the Contributions are Your original works of authorship, and to Your knowledge, no other person
claims, or has the right to claim, any right in any invention or patent related to the Contributions. You also
represent that You are not legally obligated, whether by entering into an agreement or otherwise, in any way that
conflicts with the terms of this license.

James Newton-King acknowledges that, except as explicitly described in this Agreement, any Contribution which
you provide is on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS
FOR A PARTICULAR PURPOSE.


[github]: https://github.com/JamesNK/Newtonsoft.Json
[documentation]: https://www.newtonsoft.com/json/help
[stackoverflow]: https://stackoverflow.com/questions/tagged/json.net
[dropbox]: https://www.dropbox.com
[gist]: https://gist.github.com
[pullrequesthelp]: https://help.github.com/articles/using-pull-requests


================================================
FILE: Doc/ConditionalProperties.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ConditionalProperties" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Json.NET has the ability to conditionally serialize properties by placing a ShouldSerialize method on a class.
      This functionality is similar to the <externalLink>
<linkText>XmlSerializer ShouldSerialize feature</linkText>
<linkUri>http://msdn.microsoft.com/en-us/library/53b8022e.aspx</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <section address="ShouldSerialize">
      <title>ShouldSerialize</title>
      <content>
        <para>To conditionally serialize a property, add a method that returns boolean with the same name as the property and then prefix the method name
        with ShouldSerialize. The result of the method determines whether the property is serialized. If the method returns true then the
        property will be serialized, if it returns false then the property will be skipped.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConditionalPropertiesTests.cs" region="EmployeeShouldSerializeExample" title="Employee class with a ShouldSerialize method" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConditionalPropertiesTests.cs" region="ShouldSerializeClassTest" title="ShouldSerialize output" />
        
      </content>
    </section>
    <section address="IContractResolver">
      <title>IContractResolver</title>
      <content>
        <para>ShouldSerialize can also be set using an <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>.
        Conditionally serializing a property using an IContractResolver is useful if you don't want to place a ShouldSerialize method on a class
        or you didn't declare the class and are unable to.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConditionalPropertiesTests.cs" region="ShouldSerializeContractResolver" title="Conditional properties with IContractResolver" />
        
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.JsonSerializer</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>
      <codeEntityReference>P:Newtonsoft.Json.Serialization.JsonProperty.ShouldSerialize</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/ContractResolver.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ContractResolver" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <para>The <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>
      interface provides a way to customize how the
      JsonSerializer serializes and deserializes .NET objects to JSON without placing attributes on your classes.
      </para>
      <para>Anything that can be set on an object, collection, property, etc, using attributes or methods to control serialization
      can also be set using an IContractResolver.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
<alert class="note">
  <para>For performance you should create a contract resolver once and reuse instances when possible. Resolving contracts is slow and implementations of <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference> typically cache contracts.</para>
</alert>
    </introduction>
    <!-- Add one or more top-level section elements.  These are collapsible.
         If using <autoOutline />, add an address attribute to identify it
         and specify a title so that it can be jumped to with a hyperlink. -->
    <section address="DefaultContractResolver">
      <title>DefaultContractResolver</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para>The <codeEntityReference>T:Newtonsoft.Json.Serialization.DefaultContractResolver</codeEntityReference>
        is the default resolver used by the
        serializer. It provides many avenues of extensibility in the form of
        virtual methods that can be overridden.</para>
      </content>
    </section>
    <section address="CamelCasePropertyNamesContractResolver">
      <title>CamelCasePropertyNamesContractResolver</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para><codeEntityReference>T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver</codeEntityReference>
        inherits from DefaultContractResolver and simply overrides the JSON
        property name to be written in <externalLink>
<linkText>camelcase</linkText>
<linkUri>http://en.wikipedia.org/wiki/CamelCase</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ContractResolver" title="ContractResolver" />
      </content>
    </section>
    <section address="CustomIContractResolverExamples">
      <title>Custom IContractResolver Examples</title>
      <content>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="JsonConverterContractResolver" title="Use JsonConverter with IContractResolver" />

        <para>This example sets a <codeEntityReference>T:Newtonsoft.Json.JsonConverter</codeEntityReference> for a type
        using an IContractResolver. Using a contract resolver here is useful because DateTime is not your own type and it is not possible to place a JsonConverterAttribute on it.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConditionalPropertiesTests.cs" region="ShouldSerializeContractResolver" title="Conditional properties with IContractResolver" />

        <para>This example sets up <link xlink:href="ConditionalProperties">conditional serialization for a property</link> using an IContractResolver. This is useful if you want to conditionally serialize a property but don't want to add additional methods to your type.</para>
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Serialization.DefaultContractResolver</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/ConvertingJSONandXML.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ConvertingJSONandXML" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Json.NET supports converting JSON to XML and vice versa using the
      <codeEntityReference>T:Newtonsoft.Json.Converters.XmlNodeConverter</codeEntityReference>.</para>
      <para>Elements, attributes, text, comments, character data, processing instructions,
      namespaces, and the XML declaration are all preserved when converting between the two. The
      only caveat is that it is possible to lose the order of differently named nodes at the
      same level when they are grouped together into an array.</para>
    </introduction>
    <section>
      <title>Conversion Rules</title>
      <content>
   
<list class="bullet">
  <listItem><para>Elements remain unchanged.</para></listItem>
  <listItem><para>Attributes are prefixed with an @ and should be at the start of the object.</para></listItem>
  <listItem><para>Single child text nodes are a value directly against an element, otherwise they are accessed via #text.</para></listItem>
  <listItem><para>The XML declaration and processing instructions are prefixed with ?.</para></listItem>
  <listItem><para>Character data, comments, whitespace and significant whitespace nodes are accessed via
  #cdata-section, #comment, #whitespace and #significant-whitespace respectively.</para></listItem>
  <listItem><para>Multiple nodes with the same name at the same level are grouped together into an array.</para></listItem>
  <listItem><para>Empty elements are null.</para></listItem>
</list>

<para>If the XML created from JSON doesn't match what you want, then you will need to convert it manually.
The best approach to do this is to load your JSON into a LINQ to JSON object like JObject or JArray and then use LINQ to create
an XDocument. The opposite process, using LINQ with an XDocument to create a JObject or JArray, also works.
You can find out more about using LINQ to JSON with LINQ <link xlink:href="QueryingLINQtoJSON">here</link>.</para>

<alert class="note">
  <para>The version of Json.NET being used in your application will change what XML conversion methods are available.
  SerializeXmlNode/DeserializeXmlNode are available when the framework supports XmlDocument;
  SerializeXNode/DeserializeXNode are available when the framework supports XDocument.</para>
</alert>

      </content>
    </section>
    <section>
      <title>SerializeXmlNode</title>
      <content>
   
       <para>The JsonConvert has two helper methods for converting between JSON and XML. The first is
       <codeEntityReference>Overload:Newtonsoft.Json.JsonConvert.SerializeXmlNode</codeEntityReference>.
       This method takes an XmlNode and serializes it to JSON text.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConvertingJsonAndXmlTests.cs" region="SerializeXmlNode" title="Converting XML to JSON with SerializeXmlNode" />

       <para>Because multiple nodes with the same name at the same level are grouped together into an array,
       the conversion process can produce different JSON depending on the number of nodes. For example, if some
       XML for a user has a single <codeInline>&lt;Role&gt;</codeInline> node, then that role will be text against
       a JSON <codeInline>"Role"</codeInline> property, but if the user has multiple <codeInline>&lt;Role&gt;</codeInline>
       nodes, then the role values will be placed in a JSON array.</para>
       
       <para>To fix this situation a custom XML attribute can be added to force a JSON array to be created.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConvertingJsonAndXmlTests.cs" region="ForceJsonArray" title="Attribute to Force a JSON Array" />
    </content>
    </section>
    <section>
      <title>DeserializeXmlNode</title>
      <content>
   
       <para>The second helper method on JsonConvert is
       <codeEntityReference>Overload:Newtonsoft.Json.JsonConvert.DeserializeXmlNode</codeEntityReference>.
       This method takes JSON text and deserializes it into an XmlNode.</para>
   
       <para>Because valid XML must have one root element, the JSON passed to DeserializeXmlNode should
       have one property in the root JSON object. If the root JSON object has multiple properties, then
       the overload that also takes an element name should be used. A root element with that name will
       be inserted into the deserialized XmlNode.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ConvertingJsonAndXmlTests.cs" region="DeserializeXmlNode" title="Converting JSON to XML with DeserializeXmlNode" />

      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Converters.XmlNodeConverter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonConvert</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/CreatingLINQtoJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreatingLINQtoJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>As well as parsing JSON from existing JSON strings, LINQ to JSON objects can be created from scratch to create new JSON structures.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    
    <section address="CreatingManually">
      <title>Manually Creating JSON</title>
      <content>
        <para>Setting values and creating objects and arrays one at a time gives you
        total control, but it is more verbose than other options.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateNormal" title="Creating JSON" />
      </content>
    </section>
    
    <section address="CreatingLINQ">
      <title>Creating JSON with LINQ</title>
      <content>
        <para>Declaratively creating JSON objects using LINQ is a fast way to create JSON from collections of values.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateDeclaratively" title="Creating JSON Declaratively" />
      </content>
    </section>
    
    <section address="CreatingFromObject">
      <title>Creating JSON from an object</title>
      <content>
        <para>The last option is to create a JSON object from a non-JSON type using the
        <codeEntityReference>Overload:Newtonsoft.Json.Linq.JObject.FromObject</codeEntityReference>
        method. Internally, FromObject will use the JsonSerializer to serialize the object to LINQ to JSON objects instead of text.</para>
        
        <para>The example below shows creating a JSON object from an anonymous object, but any
        .NET type can be used with FromObject to create JSON.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateFromObject" title="Creating JSON from an Object" />
      </content>
    </section>
    <relatedTopics>
      <link xlink:href="LINQtoJSON" />

      <codeEntityReference>Overload:Newtonsoft.Json.Linq.JObject.FromObject</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/CustomCreationConverter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CustomCreationConverter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <para>The <codeEntityReference>T:Newtonsoft.Json.Converters.CustomCreationConverter`1</codeEntityReference>
      is a JsonConverter that provides a way
      to customize how an object is created during JSON deserialization. Once
      the object has been created it will then have values populated onto it by
      the serializer.</para>
    </introduction>
    <section>
      <title>Example</title>
      <content>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="CustomCreationConverterObject" title="CustomCreationConverter" />
        <para>This is an extremely simple example. A more complicated scenario
        could involve an object factory or service locator that resolves the
        object at runtime.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="CustomCreationConverterExample" title="CustomCreationConverter Example" />
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Converters.CustomCreationConverter`1</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/DatesInJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="DatesInJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <para>DateTimes in JSON are hard.</para>
      <para>The problem comes from the <externalLink>
<linkText>JSON spec</linkText>
<linkUri>http://www.ietf.org/rfc/rfc4627.txt</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink> itself: there is no literal
      syntax for dates in JSON. The spec has objects, arrays, strings, integers,
      and floats, but it defines no standard for what a date looks like.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <!-- Add one or more top-level section elements.  These are collapsible.
         If using <autoOutline />, add an address attribute to identify it
         and specify a title so that it can be jumped to with a hyperlink. -->
    <section address="DatesAndJsonNET">
      <title>Dates and Json.NET</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para>The default format used by Json.NET is the <externalLink>
<linkText>ISO 8601 standard</linkText>
<linkUri>http://en.wikipedia.org/wiki/ISO_8601</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>: <codeInline>"2012-03-19T07:22Z"</codeInline>.</para>
        <para>Prior to Json.NET 4.5 dates were written using the Microsoft
        format: <codeInline>"\/Date(1198908717056)\/"</codeInline>. If you want to use this format, or
        you want to maintain compatibility with Microsoft JSON serializers or
        older versions of Json.NET, then change the
        <codeEntityReference>T:Newtonsoft.Json.DateFormatHandling</codeEntityReference>
        setting to MicrosoftDateFormat.</para>
        <para>The <codeEntityReference>T:Newtonsoft.Json.DateTimeZoneHandling</codeEntityReference> setting can be
        used to convert a DateTime's <codeEntityReference>T:System.DateTimeKind</codeEntityReference> when serializing. For example set
        DateTimeZoneHandling to Utc to serialize all DateTimes as UTC dates. Note that this setting does not effect DateTimeOffsets.</para>
        <para>If your dates don't follow the ISO 8601 standard, then the DateFormatString setting can be used to customize the format of
        	date strings that are read and written using .NET's <externalLink>
<linkText>custom date and time format syntax</linkText>
<linkUri>https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>.</para>
      </content>
    </section>
    <section address="DateTimeJsonConverters">
      <title>DateTime JsonConverters</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para>With no standard for dates in JSON, the number of possible
        different formats when interoping with other systems is endless.
        Fortunately Json.NET has a solution to deal with reading and writing
        custom dates: JsonConverters. A JsonConverter is used to override how a
        type is serialized.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="SerializingDatesInJson" title="DateTime JsonConverters Example" />        
        
        <para>Simply pass the JsonConverter you wish to use to the Json.NET
        serializer.</para>
      </content>
    </section>
    <section address="JavaScriptDateTimeConverter">
      <title>JavaScriptDateTimeConverter</title>
      <content>
        <para>The JavaScriptDateTimeConverter class is one of the two DateTime
        JsonConverters that come with Json.NET. This converter serializes a
        DateTime as a <externalLink>
<linkText>JavaScript Date object</linkText>
<linkUri>http://msdn.microsoft.com/en-us/library/cd9w2te4.aspx</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>: <codeInline>new Date(1234656000000)</codeInline></para>
        <para>Technically this is invalid JSON according to the spec, but all
        browsers and some JSON frameworks, including Json.NET, support it.</para>
      </content>
    </section>
    <section address="IsoDateTimeConverter">
      <title>IsoDateTimeConverter</title>
      <content>
      <alert class="note">
  <para>From Json.NET 4.5 and onwards dates are written using the ISO 8601
        format by default, and using this converter is unnecessary.</para>
</alert>
        <para>IsoDateTimeConverter serializes a DateTime to an <externalLink>
<linkText>ISO 8601</linkText>
<linkUri>http://en.wikipedia.org/wiki/ISO_8601</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink> formatted
        string: <codeInline>"2009-02-15T00:00:00Z"</codeInline></para>        
        <para>The IsoDateTimeConverter class has a property, DateTimeFormat, to
        further customize the formatted string.</para>
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.DateFormatHandling</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.DateTimeZoneHandling</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Converters.IsoDateTimeConverter</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Introduction.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="Introduction" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <para>Json.NET is a popular high-performance JSON framework for .NET</para>
    </introduction>
    <!-- Optional procedures followed by optional code example but must have
         at least one procedure or code example -->
<section>
 <title>Benefits and Features</title>
<content>
<list class="bullet">
   <listItem>
        <para>Flexible JSON serializer for converting between .NET objects and JSON</para>
    </listItem>
   <listItem>
        <para>LINQ to JSON for manually reading and writing JSON </para>
    </listItem>
   <listItem>
        <para>High performance: faster than .NET's built-in JSON serializers</para>
    </listItem>
   <listItem>
        <para>Write indented, easy-to-read JSON</para>
    </listItem>
   <listItem>
        <para>Convert JSON to and from XML</para>
    </listItem>
   <listItem>
        <para>Supports <externalLink>
                <linkText>.NET Standard 2.0</linkText>
                <linkUri>https://github.com/dotnet/standard/blob/master/docs/versions.md</linkUri>
                <linkTarget>_blank</linkTarget>
            </externalLink>,
            .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store</para>
    </listItem>

</list>
<para>The JSON serializer in Json.NET is a good choice when the JSON you are reading or writing maps closely to a .NET class.</para>
<para>LINQ to JSON is good for situations where you are only interested in
getting values from JSON, you don't have a class to serialize or deserialize to, 
or the JSON is radically different from your class and you need to manually read 
and write from your objects.</para>
</content>
</section>

<section>
 <title>Getting Started</title>
 <content>

<list class="bullet">
  <listItem><para><link xlink:href="SerializingJSON" /></para></listItem>
  <listItem><para><link xlink:href="LINQtoJSON" /></para></listItem>
  <listItem><para><link xlink:href="Samples" /></para></listItem>
</list>
 
 </content>
</section>
<section>
 <title>History</title>
 <content><para>Json.NET grew out of projects I was working on in late 2005 involving JavaScript,
            AJAX, and .NET. At the time there were no libraries for working with JavaScript in
            .NET, so I made my own.</para>
 <para>Starting out as a couple of static methods for escaping JavaScript strings, Json.NET
            evolved as features were added. To add support for reading JSON a major refactor
            was required, and Json.NET was split into the three major classes it still uses
            today: JsonReader, JsonWriter and JsonSerializer.</para>
 <para>Json.NET was first released in June 2006. Since then Json.NET has been downloaded
            hundreds of thousands of times by developers from around the world. It is used in many major open
            source projects, including: <externalLink>
                <linkText>Mono</linkText>
                <linkUri>http://www.mono-project.com/</linkUri>
                <linkTarget>_blank</linkTarget>
            </externalLink>,
            an open source implementation
            of the .NET framework; <externalLink>
                <linkText>RavenDB</linkText>
                <linkUri>http://ravendb.net/</linkUri>
                <linkTarget>_blank</linkTarget>
            </externalLink>,
            a JSON based document database; <externalLink>
                <linkText>ASP.NET SignalR</linkText>
                <linkUri>http://signalr.net/</linkUri>
                <linkTarget>_blank</linkTarget>
            </externalLink>,
            an async library for building real-time, multi-user interactive web applications; and <externalLink>
                <linkText>ASP.NET Core</linkText>
                <linkUri>http://www.asp.net</linkUri>
                <linkTarget>_blank</linkTarget>
            </externalLink>,
            Microsoft's web app and service framework.</para>
</content>
</section>

    <relatedTopics>
       <link xlink:href="SerializingJSON" />
       <link xlink:href="LINQtoJSON" />
       <link xlink:href="Samples" />
    </relatedTopics>

  </developerConceptualDocument>
</topic>


================================================
FILE: Doc/JsonNetVsDotNetSerializers.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JsonNetVsDotNetSerializers" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Json.NET offers many features not found in the JavaScriptSerializer and DataContractSerializer that come with .NET.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <section address="FeatureComparison">
      <title>Feature Comparison</title>
      <content>
<table>
  <tableHeader>
    <row>
      <entry><para></para></entry>
      <entry><para>Json.NET</para></entry>
      <entry><para>DataContractJsonSerializer</para></entry>
      <entry><para>JavaScriptSerializer</para></entry>
    </row>
  </tableHeader>
  <row>
    <entry><para>Supports JSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports BSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports JSONPath</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports .NET 2.0</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports .NET 3.5</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports .NET 4.0</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports .NET 4.5</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports Silverlight</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports Windows Phone</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports Windows Store</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports Xamarin</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Open Source</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>MIT License</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>LINQ to JSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Thread Safe</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>XPath-like JSON query syntax</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Indented JSON support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>
    <externalLink>
		<linkText>Efficient dictionary serialization</linkText>
		<linkUri>http://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictionarystring-string-in-asp-net</linkUri>
		<linkTarget>_blank</linkTarget>
	</externalLink>
    </para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>
    <externalLink>
		<linkText>Nonsensical dictionary serialization</linkText>
		<linkUri>http://stackoverflow.com/questions/4559991/any-way-to-make-datacontractjsonserializer-serialize-dictionaries-properly</linkUri>
		<linkTarget>_blank</linkTarget>
	</externalLink>
    </para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Deserializes IList, IEnumerable, ICollection, IDictionary properties</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes circular references</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports serializing objects by reference</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Deserializes polymorphic properties and collections</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes and deserializes multidimensional arrays</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports including type names with JSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Globally customize serialization process</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports excluding null values when serializing</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports SerializationBinder</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Conditional property serialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Includes line number information in errors</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Converts XML to JSON and JSON to XML</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>JSON Schema validation</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>JSON Schema generation from .NET types</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Camel case JSON property names</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Non-default constructors support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serialization error handling</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports populating an existing object</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Efficiently serializes byte arrays as base64 text</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Handles NaN, Infinity, -Infinity and undefined</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Handles JavaScript constructors</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes .NET 4.0 dynamic objects</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes ISerializable objects</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports serializing enums to their text name</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>JSON recursion limit support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Attribute property name customization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Attribute property order customization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Attribute property required customization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports ISO8601 dates</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports JavaScript constructor dates</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports Microsoft AJAX dates</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Unquoted property names support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Raw JSON support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports reading and writing comments</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes anonymous types</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Deserializes anonymous types</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Opt-in mode serialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Opt-out mode serialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Field (Serializable) mode serialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Efficiently stream reading and writing JSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Single or double quote JSON content</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports overriding a type&apos;s serialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports OnDeserialized, OnSerializing, OnSerialized and OnDeserializing attributes</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports serializing private properties</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>DataMember attribute support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>MetdataType attribute support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>DefaultValue attribute support</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes DataSets and DataTables</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes Entity Framework</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes nHibernate</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Case-insensitive property deserialization</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Diagnostic tracing</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes read-only and immutable collections</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports serialization extension data</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes F# discriminated unions</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Serializes F# collections</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
  <row>
    <entry><para>Supports merging JSON</para></entry>
    <entry><para><markup><img src="../tick.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
    <entry><para><markup><img src="../cross.png" /></markup></para></entry>
  </row>
</table>
      </content>
    </section>
    <section address="Benchmarks">
      <title>Benchmarks</title>
      <content>
        
	<mediaLink>
      <image class="image" xlink:href="performance" mimeType="image/png" width="643" height="345" />
      <summary>Json.NET Performance</summary>
	</mediaLink>
        
      </content>
    </section>
  </developerConceptualDocument>
</topic>


================================================
FILE: Doc/JsonSchema.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JsonSchema" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Json.NET supports the JSON Schema standard via the <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.JsonValidatingReader</codeEntityReference> classes. It sits under
      the <codeEntityReference>N:Newtonsoft.Json.Schema</codeEntityReference> namespace.</para>
      <para>JSON Schema is used to validate the structure and
      data types of a piece of JSON, similar to XML Schema for XML. You can read more about JSON Schema at 
      <externalLink>
        <linkText>json-schema.org</linkText>
        <linkUri>http://json-schema.org/</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink></para>
    </introduction>

<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>

    <!-- Optional procedures followed by optional code example but must have
         at least one procedure or code example -->
<section>
  <title>Validating with JSON Schema</title>
<content>
<para>The simplest way to check if JSON is valid is to load the JSON into a JObject or JArray and then
use the <codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)</codeEntityReference>
method with the JSON Schema.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\JsonSchemaTests.cs" region="IsValidBasic" title="Validate JSON with IsValid" />

<para>To get validation error messages, use the
<codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)</codeEntityReference>
or
<codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,Newtonsoft.Json.Schema.ValidationEventHandler)</codeEntityReference>
overloads.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\JsonSchemaTests.cs" region="IsValidMessages" title="Validate JSON with IsValid" />

<para>Internally IsValid uses <codeEntityReference>T:Newtonsoft.Json.JsonValidatingReader</codeEntityReference>
to perform the JSON Schema validation. To skip the overhead of loading JSON into a JObject/JArray, validating
the JSON, and then deserializing the JSON into a class, JsonValidatingReader can be used with JsonSerializer to validate JSON while the object is being deserialized.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\JsonSchemaTests.cs" region="JsonValidatingReader" title="Validate JSON with JsonValidatingReader" />

</content>
</section>

<section>
  <title>Creating JSON Schemas</title>
  <content>

<para>The simplest way to get a <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference> object is to load it from a string or a file.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\JsonSchemaTests.cs" region="LoadJsonSchema" title="Creating JSON Schemas from strings or files" />

<para>It is also possible to create JsonSchema objects in code.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\JsonSchemaTests.cs" region="ManuallyCreateJsonSchema" title="Create new JSON Schemas in code" />

  </content>
</section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonValidatingReader</codeEntityReference>
    </relatedTopics>

  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/LINQtoJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="LINQtoJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>LINQ to JSON is an API for working with JSON objects.
      It has been designed with LINQ in mind to enable quick querying
      and creation of JSON objects. LINQ to JSON sits under the
      <codeEntityReference>N:Newtonsoft.Json.Linq</codeEntityReference>
      namespace.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonBasic" title="Using LINQ for JSON" />
    </introduction>
<section>
 <title>Topics</title>
<content>
      <para>Select a topic below for more information:</para>
<list class="bullet">
   <listItem>
     <para><link xlink:href="ParsingLINQtoJSON" /></para>
   </listItem>
   <listItem>
     <para><link xlink:href="CreatingLINQtoJSON" /></para>
   </listItem>
   <listItem>
     <para><link xlink:href="QueryingLINQtoJSON" /></para>
   </listItem>
   <listItem>
     <para><link xlink:href="SelectToken" /></para>
   </listItem>
</list>
</content>
</section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Linq.JValue</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/ParsingLINQtoJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ParsingLINQtoJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>LINQ to JSON has methods available for parsing JSON from a string or loading JSON directly from a file.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    
    <section address="ParsingJSON">
      <title>Parsing JSON text</title>
      <content>
        <para>JSON values can be read from a string using 
        <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Parse(System.String)</codeEntityReference>.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from text" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from text" />
      </content>
    </section>
    
    <section address="LoadingJSON">
      <title>Loading JSON from a file</title>
      <content>
        <para>JSON can also be loaded directly from a file using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader)</codeEntityReference>.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonReadObject" title="Reading JSON from a file" />
      </content>
    </section>
    <relatedTopics>
      <link xlink:href="LINQtoJSON" />
      
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Parse(System.String)</codeEntityReference>
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader)</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Performance.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="Performance" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Out of the box Json.NET is faster than DataContractJsonSerializer and JavaScriptSerializer.
      Here are some tips to make it go even faster.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <section address="ReuseContractResolver">
      <title>Reuse Contract Resolver</title>
      <content>
        <para>The <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference> resolves .NET types to contracts that are used during serialization inside JsonSerializer.
        Creating a contract involves inspecting a type with slow reflection, so contracts are typically
        cached by implementations of IContractResolver like <codeEntityReference>T:Newtonsoft.Json.Serialization.DefaultContractResolver</codeEntityReference>.</para>
        <para>To avoid the overhead of recreating contracts every time you use JsonSerializer you should create the contract resolver once and reuse it.
        Note that if you are not using a contract resolver then a shared internal instance is automatically used when serializing and deserializing.
        </para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="ReuseContractResolver" title="Reuse ContractResolver" />
        
      </content>
    </section>
    <section address="MemoryUsage">
      <title>Optimize Memory Usage</title>
      <content>
        <para>To keep an application consistently fast, it is important to minimize the
        amount of time the .NET framework spends performing <externalLink>
<linkText>garbage collection</linkText>
<linkUri>http://msdn.microsoft.com/en-us/library/ms973837.aspx</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>.
        Allocating too many objects or allocating very large objects can slow down or even
        halt an application while garbage collection is in progress.
        </para>
        <para>To minimize memory usage and the number of objects allocated, Json.NET supports
        serializing and deserializing directly to a stream. Reading or writing JSON a piece at a time, instead of having
        the entire JSON string loaded into memory, is especially important when working with JSON
        documents greater than 85kb in size to avoid the JSON string ending up in the <externalLink>
<linkText>large object heap</linkText>
<linkUri>http://msdn.microsoft.com/en-us/magazine/cc534993.aspx</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink>.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="DeserializeString" title="Deserialize String" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="DeserializeStream" title="Deserialize Stream" />
        
      </content>
    </section>
    <section address="JsonConverters">
      <title>JsonConverters</title>
      <content>
        <para>Passing a <codeEntityReference>T:Newtonsoft.Json.JsonConverter</codeEntityReference> to SerializeObject or DeserializeObject provides a simple way to completely
        change how an object is serialized. There is, however, a small amount of overhead; the CanConvert method is called for every
        value to check whether serialization should be handled by that JsonConverter.</para>
        <para>There are a couple of ways to continue to use JsonConverters without any overhead. The simplest way
        is to specify the JsonConverter using the <codeEntityReference>T:Newtonsoft.Json.JsonConverterAttribute</codeEntityReference>. This attribute tells the serializer
        to always use that converter when serializing and deserializing the type, without the check.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="JsonConverterAttribute" title="Use JsonConverter with JsonConverterAttribute" />

        <para>If the class you want to convert isn't your own and you're unable to use an attribute, a JsonConverter can still be used by
        creating your own <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="JsonConverterContractResolver" title="Use JsonConverter with IContractResolver" />

        <para>The IContractResolver in the example above will set all DateTimes to use the JavaScriptDateConverter.</para>        
      </content>
    </section>
    <section address="ManuallySerialize">
      <title>Manually Serialize</title>
      <content>
        <para>The absolute fastest way to read and write JSON is to use JsonTextReader/JsonTextWriter directly to manually serialize types.
        Using a reader or writer directly skips any of the overhead from a serializer, such as reflection.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\PerformanceTests.cs" region="ReaderWriter" title="Manually serialize using JsonTextWriter" />

        <para>
          If performance is important and you don't mind writing more code to get it, then this is your best choice. You can read more about using JsonReader/JsonWriter here: <link xlink:href="ReadingWritingJSON" />
        </para>
      </content>
    </section>
    <section address="Benchmarks">
      <title>Benchmarks</title>
      <content>
        
	<mediaLink>
      <image class="image" xlink:href="performance" mimeType="image/png" width="643" height="345" />
      <summary>Json.NET Performance</summary>
	</mediaLink>
        
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.JsonSerializer</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonConverter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonConverterAttribute</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonTextWriter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonTextReader</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/PreserveObjectReferences.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="PreserveObjectReferences" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <para>By default Json.NET will serialize all objects it encounters by value.
      If a list contains two Person references and both references point to the
      same object, then the JsonSerializer will write out all the names and values
      for each reference.</para>
      
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOff" title="Preserve Object References Off" />
      
      <para>In most cases this is the desired result, but in certain scenarios
      writing the second item in the list as a reference to the first is a better
      solution. If the above JSON was deserialized now, then the returned list would
      contain two completely separate Person objects with the same values. Writing
      references by value will also cause problems on objects where a circular
      reference occurs.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <!-- Add one or more top-level section elements.  These are collapsible.
         If using <autoOutline />, add an address attribute to identify it
         and specify a title so that it can be jumped to with a hyperlink. -->
    <section address="PreserveReferencesHandling">
      <title>PreserveReferencesHandling</title>
      <content>
        <para>Setting <codeEntityReference>T:Newtonsoft.Json.PreserveReferencesHandling</codeEntityReference> will track object references
        when serializing and deserializing JSON.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOn" title="Preserve Object References On" />       
        
        <para>The first Person in the list is serialized with the addition of an
        object ID. The second Person in JSON is now only a reference to the first.</para>
        <para>With PreserveReferencesHandling on, now only one Person object is created
        on deserialization and the list contains two references to it, mirroring
        what we started with.</para>
 <para>
   Metadata properties like <codeInline>$id</codeInline> must be located at the beginning of a JSON object to be successfully detected during deserialization. If you can't control
   the order of properties in your JSON object then <codeEntityReference>T:Newtonsoft.Json.MetadataPropertyHandling</codeEntityReference> can be used to remove this restriction.
 </para>
<alert class="note">
  <para>References cannot be preserved when a value is set via a non-default constructor.
        With a non-default constructor, child values must be created before the parent value so they can be passed into
        the constructor, making tracking reference impossible.
        <codeEntityReference>T:System.Runtime.Serialization.ISerializable</codeEntityReference> types are an example
        of a class whose values are populated with a non-default constructor and won't work with PreserveReferencesHandling.</para>
</alert>
      </content>
    </section>
    
    <section address="IsReference">
      <title>IsReference</title>
      <content>
        <para>The PreserveReferencesHandling setting on the JsonSerializer will
        change how all objects are serialized and deserialized. For fine grain
        control over which objects and members should be serialized as a
        reference there is the IsReference property on the JsonObjectAttribute,
        JsonArrayAttribute and JsonPropertyAttribute.</para>
        
        <para>Setting IsReference on JsonObjectAttribute or JsonArrayAttribute to
        true will mean the JsonSerializer will always serialize the type the
        attribute is against as a reference. Setting IsReference on the
        JsonPropertyAttribute to true will serialize only that property as a
        reference.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesAttribute" title="IsReference" />
      </content>
    </section>
    
    <section address="IReferenceResolver">
      <title>IReferenceResolver</title>
      <content>
        <para>To customize how references are generated and resolved the
        <codeEntityReference>T:Newtonsoft.Json.Serialization.IReferenceResolver</codeEntityReference>
        interface is available to inherit from and use with
        the JsonSerializer.</para>
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.PreserveReferencesHandling</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/QueryingLINQtoJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryingLINQtoJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>LINQ to JSON provides a number of methods for getting data from its objects. The index methods on JObject/JArray let you quickly get data by its property name
      on an object or index in a collection, while <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Children</codeEntityReference> lets you get ranges
      of data as <codeInline>IEnumerable&lt;JToken&gt;</codeInline> to then query using LINQ.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    
    <section address="Index">
      <title>Getting values by Property Name or Collection Index</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para>The simplest way to get a value from LINQ to JSON is to use the
        <codeEntityReference>P:Newtonsoft.Json.Linq.JToken.Item(System.Object)</codeEntityReference> index on
        JObject/JArray and then cast the returned <codeEntityReference>T:Newtonsoft.Json.Linq.JValue</codeEntityReference> to the type you want.
        </para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonSimpleQuerying" title="Getting JSON Values" />

      </content>
    </section>
    <section address="QueryingLINQ">
      <title>Querying with LINQ</title>
      <content>
        <para>JObject/JArray can also be queried using LINQ. <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Children</codeEntityReference>
        returns the children values of a JObject/JArray
		as an <codeInline>IEnumerable&lt;JToken&gt;</codeInline> that can then be queried with the standard Where/OrderBy/Select LINQ operators.</para>
        
<alert class="note">
        <para><codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Children</codeEntityReference> returns all the children of a token. If it is a
        JObject it will return a collection of properties to work with, and if
        it is a JArray you will get a collection of the array's values.</para>
</alert>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonQuerying" title="Querying JSON" />

        <para>LINQ to JSON can also be used to manually convert JSON to a .NET object.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonDeserializeObject" title="Deserializing Using LINQ Objects" />

        <para>Manually serializing and deserializing between .NET objects is useful when you are
        working with JSON that doesn't closely match your .NET objects.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonDeserializeExample" title="Deserializing Using LINQ Example" />
      </content>
    </section>
    <relatedTopics>
      <link xlink:href="LINQtoJSON" />

      <codeEntityReference>P:Newtonsoft.Json.Linq.JToken.Item(System.Object)</codeEntityReference>
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.Children</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/ReadingWritingJSON.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReadingWritingJSON" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>To manually read and write JSON, Json.NET provides the
      <codeEntityReference>T:Newtonsoft.Json.JsonReader</codeEntityReference>
      and 
      <codeEntityReference>T:Newtonsoft.Json.JsonWriter</codeEntityReference> classes.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />

    </introduction>
    <section address="TextReaderWriter">
      <title>JsonTextReader and JsonTextWriter</title>
      <content>
      
<alert class="note">
  <para>JsonReader and JsonWriter are low-level classes and are primarily for internal use by Json.NET.
    To quickly work with JSON, either the serializer - <link xlink:href="SerializingJSON" /> - or using <link xlink:href="LINQtoJSON" /> is recommended.
   </para>
</alert>

        <para><codeEntityReference>T:Newtonsoft.Json.JsonTextReader</codeEntityReference>
        and <codeEntityReference>T:Newtonsoft.Json.JsonTextWriter</codeEntityReference>
        are used to read and write JSON text.
        The JsonTextWriter has a number of settings on it to control how JSON is formatted
        when it is written. These options include formatting, indentation character, indent
        count, and quote character.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ReadingAndWritingJsonTests.cs" region="ReadingAndWritingJsonText" title="Writing JSON with JsonTextWriter" />

        <para>JsonTextReader has settings on it for reading different date formats, time zones, and
        the cultures when reading text values.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ReadingAndWritingJsonTests.cs" region="ReadingJsonText" title="Reading JSON with JsonTextReader" />
      </content>
    </section>
    <section address="JTokenReaderWriter">
      <title>JTokenReader and JTokenWriter</title>
      <content>
        <para><codeEntityReference>T:Newtonsoft.Json.Linq.JTokenReader</codeEntityReference>
        and <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenWriter</codeEntityReference>
        read and write LINQ to JSON objects. They are located in the
        <codeEntityReference>N:Newtonsoft.Json.Linq</codeEntityReference>
        namespace. These objects allow you to use LINQ to JSON objects with objects that
        read and write JSON, such as the JsonSerializer. For example you can deserialize
        from a LINQ to JSON object into a regular .NET object and vice versa.</para>
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\ReadingAndWritingJsonTests.cs" region="ReadingAndWritingJsonLinq" title="Deserializing with JTokenReader" />
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.JsonReader</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonWriter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenReader</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenWriter</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Bson.BsonReader</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.Bson.BsonWriter</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/ReducingSerializedJSONSize.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReducingSerializedJSONSize" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!--
    <summary>
      <para>Optional summary abstract</para>
    </summary>
    -->
    <introduction>
      <!-- Uncomment this to generate an outline of the section and sub-section
           titles.  Specify a numeric value as the inner text to limit it to
           a specific number of sub-topics when creating the outline.  Specify
           zero (0) to limit it to top-level sections only.  -->
      <!-- <autoOutline /> -->
      <para>One of the common problems encountered when serializing .NET objects to
      JSON is that the JSON ends up containing a lot of unwanted properties and values.
      This can be especially significant when returning JSON to the client. More JSON
      means more bandwidth and a slower website.</para>
      <para>To solve the issue of unwanted JSON, Json.NET has a range of built-in
      options to fine-tune what gets written from a serialized object.</para>
      <autoOutline lead="none" excludeRelatedTopics="true" />
    </introduction>
    <!-- Add one or more top-level section elements.  These are collapsible.
         If using <autoOutline />, add an address attribute to identify it
         and specify a title so that it can be jumped to with a hyperlink. -->
    <section address="JsonIgnoreAttributeAndDataMemberAttribute">
      <title>JsonIgnoreAttribute and DataMemberAttribute</title>
      <content>
        <!-- Uncomment this to create a sub-section outline
        <autoOutline /> -->
        <para>By default Json.NET will include all of a class's public properties and fields
        in the JSON it creates. Adding the
        <codeEntityReference>T:Newtonsoft.Json.JsonIgnoreAttribute</codeEntityReference>
        to a property tells the serializer to always skip writing it to the JSON result.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeOptOut" title="Opt-out Serialization Example" />
        
        <para>If a class has many properties and you only want to serialize a small subset
        of them, then adding JsonIgnore to all the others will be tedious and error prone.
        The way to tackle this scenario is to add the
        <codeEntityReference>T:System.Runtime.Serialization.DataContractAttribute</codeEntityReference>
        to the class and
        <codeEntityReference>T:System.Runtime.Serialization.DataMemberAttribute</codeEntityReference>
        to the properties to serialize. This is opt-in
        serialization - only the properties you mark up will be serialized, unlike
        opt-out serialization using JsonIgnoreAttribute.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeOptIn" title="Opt-in Serialization Example" />
      </content>
    </section>
    <section address="Formatting">
      <title>Formatting</title>
      <content>
        <para>JSON written by the serializer with an option of
        <codeEntityReference>T:Newtonsoft.Json.Formatting</codeEntityReference>
        set to Indented produces
        nicely formatted, easy-to-read JSON that is great for readability when you are
        developing. <codeInline>Formatting.None</codeInline> on the other hand keeps the JSON result small, skipping
        all unnecessary spaces and line breaks to produce the most compact and efficient
        JSON possible.</para>
      </content>
    </section>
    <section address="NullValueHandling">
      <title>NullValueHandling</title>
      <content>
        <para><codeEntityReference>T:Newtonsoft.Json.NullValueHandling</codeEntityReference>
        is an option on the JsonSerializer and controls how the
        serializer handles properties with a null value. By setting a value of
        NullValueHandling.Ignore the JsonSerializer skips writing any properties that have
        a value of null.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingObject" title="NullValueHandling Class" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingExample" title="NullValueHandling Ignore Example" />

        <para>NullValueHandling can also be customized on individual properties
        using the
        <codeEntityReference>T:Newtonsoft.Json.JsonPropertyAttribute</codeEntityReference>.
        The JsonPropertyAttribute value of
        NullValueHandling will override the setting on the JsonSerializer for that
        property.</para>
      </content>
    </section>
    <section address="DefaultValueHandling">
      <title>DefaultValueHandling</title>
      <content>
        <para><codeEntityReference>T:Newtonsoft.Json.DefaultValueHandling</codeEntityReference>
        is an option on the JsonSerializer and controls how the serializer handles
        properties with a default value. Setting a value of DefaultValueHandling.Ignore
        will make the JsonSerializer skip writing any properties that have a default
        value to the JSON result. For object references this will be null. For value
        types like int and DateTime the serializer will skip the default uninitialized
        value for that value type.</para>

        <para>Json.NET also allows you to customize what the default value of an individual
        property is using the
        <codeEntityReference>T:System.ComponentModel.DefaultValueAttribute</codeEntityReference>.
        For example, if a string property called
        Department always returns an empty string in its default state and you don't want
        that empty string in your JSON, then placing the DefaultValueAttribute on Department
        with that value will mean Department is no longer written to JSON unless it has a
        value.</para>
        
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingObject" title="DefaultValueHandling Class" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingExample" title="DefaultValueHandling Ignore Example" />
        
        <para>DefaultValueHandling can also be customized on individual properties using
        the <codeEntityReference>T:Newtonsoft.Json.JsonPropertyAttribute</codeEntityReference>.
        The JsonPropertyAttribute value of DefaultValueHandling
        will override the setting on the JsonSerializer for that property.</para>
      </content>
    </section>
    <section address="IContractResolver">
      <title>IContractResolver</title>
      <content>
        <para>For more flexibility, the
        <codeEntityReference>T:Newtonsoft.Json.Serialization.IContractResolver</codeEntityReference>
        provides an interface to customize
        almost every aspect of how a .NET object gets serialized to JSON, including changing
        serialization behavior at runtime.</para>

<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverObject" title="IContractResolver Class" />
<code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverExample" title="IContractResolver Example" />
        
      </content>
    </section>
    <relatedTopics>
      <codeEntityReference>T:Newtonsoft.Json.Formatting</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.JsonIgnoreAttribute</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.DefaultValueHandling</codeEntityReference>
      <codeEntityReference>T:Newtonsoft.Json.NullValueHandling</codeEntityReference>
    </relatedTopics>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Bson/DeserializeFromBson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="DeserializeFromBson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample deserializes BSON to an object.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\DeserializeFromBson.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\DeserializeFromBson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Bson/DeserializeFromBsonCollection.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="DeserializeFromBsonCollection" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample sets <codeEntityReference>P:Newtonsoft.Json.Bson.BsonReader.ReadRootValueAsArray</codeEntityReference>
      to <codeInline>true</codeInline> so the root BSON value is correctly read
      as an array instead of an object and deserializes BSON to a collection.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\DeserializeFromBsonCollection.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\DeserializeFromBsonCollection.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Bson/SerializeToBson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="SerializeToBson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample serializes an object to BSON.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\SerializeToBson.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Bson\SerializeToBson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Json/CustomJsonReader.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CustomJsonReader" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a custom <codeEntityReference>T:Newtonsoft.Json.JsonReader</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\CustomJsonReader.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\CustomJsonReader.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Json/CustomJsonWriter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CustomJsonWriter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a custom <codeEntityReference>T:Newtonsoft.Json.JsonWriter</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\CustomJsonWriter.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\CustomJsonWriter.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Json/ReadJsonWithJsonTextReader.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReadJsonWithJsonTextReader" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample reads JSON using the <codeEntityReference>T:Newtonsoft.Json.JsonTextReader</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\ReadJsonWithJsonTextReader.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Json/ReadMultipleContentWithJsonReader.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReadMultipleContentWithJsonReader" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample sets <codeEntityReference>P:Newtonsoft.Json.JsonReader.SupportMultipleContent</codeEntityReference>
      to true so that multiple JSON fragments can be read from a <codeEntityReference>T:System.IO.Stream</codeEntityReference> or
      <codeEntityReference>T:System.IO.TextReader</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\ReadMultipleContentWithJsonReader.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\ReadMultipleContentWithJsonReader.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Json/WriteJsonWithJsonTextWriter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="WriteJsonWithJsonTextWriter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample writes JSON using the <codeEntityReference>T:Newtonsoft.Json.JsonTextWriter</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Json\WriteJsonWithJsonTextWriter.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/ErrorWhenNoMatchQuery.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ErrorWhenNoMatchQuery" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using <codeEntityReference>Overload:Newtonsoft.Json.Linq.JToken.SelectToken</codeEntityReference>. An error is thrown when part of the JSON path is not found.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\ErrorWhenNoMatchQuery.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/QueryJsonSelectToken.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonSelectToken" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\QueryJsonSelectToken.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/QueryJsonSelectTokenEscaped.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonSelectTokenEscaped" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON with properties that need to be escaped when queried with <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\QueryJsonSelectTokenEscaped.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/QueryJsonSelectTokenJsonPath.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonSelectTokenJsonPath" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference> with a <externalLink>
<linkText>JSONPath</linkText>
<linkUri>http://stackoverflow.com/tags/jsonpath</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink> query.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\QueryJsonSelectTokenJsonPath.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/QueryJsonSelectTokenWithLinq.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonSelectTokenWithLinq" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using a combination of <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference>
      and LINQ operators.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\QueryJsonSelectTokenWithLinq.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/RegexQuery.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="RegexQuery" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference> with a regex JSON Path.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\RegexQuery.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/JsonPath/StrictEqualsQuery.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="StrictEqualsQuery" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)</codeEntityReference> with a strict equals JSON Path.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\JsonPath\StrictEqualsQuery.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/Clone.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="Clone" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample recursively clones a <codeEntityReference>T:Newtonsoft.Json.Linq.JToken</codeEntityReference>
      and all its children using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.DeepClone</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\Clone.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonAnonymousObject.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonAnonymousObject" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      from an anonymous type.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonAnonymousObject.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonAnonymousObject.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonCollectionInitializer.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonCollectionInitializer" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference> instances using
      the C# collection initializer syntax.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonCollectionInitializer.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonDeclaratively.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonDeclaratively" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference> instances declaratively
      using LINQ.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonDeclaratively.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonDeclaratively.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonDynamic.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonDynamic" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference> instances using
      the C# dynamic functionality.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonDynamic.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonJTokenWriter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonJTokenWriter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference> instances using
      a <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenWriter</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonJTokenWriter.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateJsonManually.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonManually" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference> instances one at a time
      programatically.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateJsonManually.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateReader.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateReader" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenReader</codeEntityReference>
      from a <codeEntityReference>T:Newtonsoft.Json.Linq.JToken</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateReader.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/CreateWriter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateWriter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a <codeEntityReference>T:Newtonsoft.Json.Linq.JTokenWriter</codeEntityReference>
      from a <codeEntityReference>T:Newtonsoft.Json.Linq.JToken</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\CreateWriter.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/DeepEquals.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="DeepEquals" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample compares <codeEntityReference>T:Newtonsoft.Json.Linq.JToken</codeEntityReference>
      instances using <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.DeepEquals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)</codeEntityReference>,
      comparing the token and all child tokens.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\DeepEquals.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/DeserializeWithLinq.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="DeserializeWithLinq" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample uses LINQ to JSON to manually convert JSON to a .NET type.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\DeserializeWithLinq.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\DeserializeWithLinq.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/FromObject.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="FromObject" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample converts .NET values to LINQ to JSON using
      <codeEntityReference qualifyHint="true">M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\FromObject.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\FromObject.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/JObjectProperties.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JObjectProperties" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample gets an object's <codeEntityReference>T:Newtonsoft.Json.Linq.JProperty</codeEntityReference>
      collection using <codeEntityReference>M:Newtonsoft.Json.Linq.JObject.Properties</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\JObjectProperties.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/JTokenAnnotation.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JTokenAnnotation" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample uses annotations with LINQ to JSON objects.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\JTokenAnnotation.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/JValueCast.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JValueCast" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample casts <codeEntityReference>T:Newtonsoft.Json.Linq.JValue</codeEntityReference>
      instances to .NET values.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\JValueCast.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/JValueValue.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JValueValue" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample gets <codeEntityReference>T:Newtonsoft.Json.Linq.JValue</codeEntityReference>
      internal values using <codeEntityReference>P:Newtonsoft.Json.Linq.JValue.Value</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\JValueValue.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/MergeJson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="MergeJson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample merges LINQ to JSON objects.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\MergeJson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ModifyJson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ModifyJson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON, modifies <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      and <codeEntityReference>T:Newtonsoft.Json.Linq.JArray</codeEntityReference>
      instances and then writes the JSON back out again.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ModifyJson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ParseJsonAny.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ParseJsonAny" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample parses JSON using
      <codeEntityReference qualifyHint="true">M:Newtonsoft.Json.Linq.JToken.Parse(System.String)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ParseJsonAny.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ParseJsonArray.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ParseJsonArray" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample parses a JSON array using
      <codeEntityReference qualifyHint="true">M:Newtonsoft.Json.Linq.JArray.Parse(System.String)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ParseJsonArray.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ParseJsonObject.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ParseJsonObject" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample parses a JSON object using
      <codeEntityReference qualifyHint="true">M:Newtonsoft.Json.Linq.JObject.Parse(System.String)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ParseJsonObject.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/QueryJson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using
      <codeEntityReference>P:Newtonsoft.Json.Linq.JToken.Item(System.Object)</codeEntityReference>
      indexer and then casts the returned tokens to .NET values.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\QueryJson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/QueryJsonDynamic.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonDynamic" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using
      C# dynamic functionality.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\QueryJsonDynamic.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/QueryJsonLinq.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="QueryJsonLinq" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads JSON and then queries values from it using LINQ operators.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\QueryJsonLinq.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ReadJTokenFromBson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReadJTokenFromBson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample reads a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      from BSON using <codeEntityReference>T:Newtonsoft.Json.Bson.BsonReader</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ReadJTokenFromBson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ReadJson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ReadJson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample reads JSON from a file into a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ReadJson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/SerializeWithLinq.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="SerializeWithLinq" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample uses LINQ to JSON to manually convert a .NET type to JSON.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\SerializeWithLinq.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\SerializeWithLinq.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ToObjectComplex.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ToObjectComplex" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample converts LINQ to JSON objects to .NET types using
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.ToObject``1</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ToObjectComplex.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ToObjectGeneric.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ToObjectGeneric" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample converts LINQ to JSON objects to .NET types using
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.ToObject``1</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ToObjectGeneric.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ToObjectType.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ToObjectType" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample converts LINQ to JSON objects to .NET types using
      <codeEntityReference>M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type)</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ToObjectType.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ToString.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ToString" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample converts LINQ to JSON objects to JSON.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ToString.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/ToStringJsonConverter.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="ToStringJsonConverter" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample uses a <codeEntityReference>T:Newtonsoft.Json.JsonConverter</codeEntityReference>
      to customize converting LINQ to JSON objects to JSON.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\ToStringJsonConverter.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/WriteJTokenToBson.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="WriteJTokenToBson" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample writes a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      to BSON using <codeEntityReference>T:Newtonsoft.Json.Bson.BsonWriter</codeEntityReference>.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\WriteJTokenToBson.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Linq/WriteToJsonFile.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="WriteToJsonFile" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample writes LINQ to JSON objects to a file.</para>
    </introduction>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Linq\WriteToJsonFile.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Samples.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="Samples" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>Over 100 code samples covering Json.NET's most commonly used functionality.</para>
    </introduction>
    <section>
      <title>Samples</title>
      <content>

<list class="bullet">
    <listItem>
        <para><legacyBold>Serializing JSON</legacyBold> - Serializing and deserializing JSON, serializer settings and serialization attributes</para>
    </listItem>
    <listItem>
        <para><legacyBold>LINQ to JSON</legacyBold> - Parsing, querying, modifying and writing JSON</para>
    </listItem>
    <listItem>
        <para><legacyBold>JSON Schema</legacyBold> - Loading schemas and validating JSON. Note that JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.</para>
    </listItem>
    <listItem>
        <para><legacyBold>Converting XML</legacyBold> - Converting JSON to XML and XML to JSON</para>
    </listItem>
    <listItem>
        <para><legacyBold>BSON</legacyBold> - Serializing and deserializing BSON</para>
    </listItem>
    <listItem>
        <para><legacyBold>Reading and Writing JSON</legacyBold> - Reading JSON with JsonTextReader, writing JSON with JsonTextWriter</para>
    </listItem>
</list>

      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/CreateJsonSchemaManually.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="CreateJsonSchemaManually" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample creates a new <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference>
      instance manually in code.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\CreateJsonSchemaManually.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/JTokenIsValid.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JTokenIsValid" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample validates a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      using the <codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)</codeEntityReference>
      extension method.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JTokenIsValid.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/JTokenIsValidWithMessages.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JTokenIsValidWithMessages" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample validates a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      using the <codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)</codeEntityReference>
      extension method and returns error messages.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JTokenIsValidWithMessages.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/JTokenValidateWithEvent.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JTokenValidateWithEvent" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample validates a <codeEntityReference>T:Newtonsoft.Json.Linq.JObject</codeEntityReference>
      using the <codeEntityReference>M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)</codeEntityReference>
      extension method and raises an event for each validation error.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JTokenValidateWithEvent.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/JsonSchemaParse.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JsonSchemaParse" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample parses a <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference>
      from JSON</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JsonSchemaParse.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/JsonValidatingReaderAndSerializer.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="JsonValidatingReaderAndSerializer" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample validates JSON while deserializing an object using
      <codeEntityReference>T:Newtonsoft.Json.JsonValidatingReader</codeEntityReference>.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JsonValidatingReaderAndSerializer.cs" region="Types" title="Types" />
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\JsonValidatingReaderAndSerializer.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/LoadJsonSchemaFromFile.aml
================================================
<?xml version="1.0" encoding="utf-8"?>
<topic id="LoadJsonSchemaFromFile" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <introduction>
      <para>This sample loads a <codeEntityReference>T:Newtonsoft.Json.Schema.JsonSchema</codeEntityReference>
      from a file.</para>
    </introduction>
<alert class="caution">
  <para>
    <legacyBold>Obsolete.</legacyBold> JSON Schema validation has been moved to its own package. See <externalLink>
        <linkText>https://www.newtonsoft.com/jsonschema</linkText>
        <linkUri>https://www.newtonsoft.com/jsonschema</linkUri>
        <linkTarget>_blank</linkTarget>
      </externalLink>
      for more details.
  </para>
</alert>
    <section>
      <title>Sample</title>
      <content>
        <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\Samples\Schema\LoadJsonSchemaFromFile.cs" region="Usage" title="Usage" />
      </content>
    </section>
  </developerConceptualDocument>
</topic>

================================================
FILE: Doc/Samples/Schema/RefJsonSchemaResolver.aml
================================================
<?xml version="1
Download .txt
gitextract_wyahh53l/

├── .gitattributes
├── .github/
│   └── workflows/
│       └── codeql.yml
├── .gitignore
├── Build/
│   ├── Sign-Package.ps1
│   ├── appsettings.json
│   ├── build.ps1
│   ├── localbuild.ps1
│   ├── psake.psm1
│   ├── runbuild.cmd
│   ├── runbuild.ps1
│   └── version.json
├── CONTRIBUTING.md
├── Doc/
│   ├── ConditionalProperties.aml
│   ├── ContractResolver.aml
│   ├── ConvertingJSONandXML.aml
│   ├── CreatingLINQtoJSON.aml
│   ├── CustomCreationConverter.aml
│   ├── DatesInJSON.aml
│   ├── Introduction.aml
│   ├── JsonNetVsDotNetSerializers.aml
│   ├── JsonSchema.aml
│   ├── LINQtoJSON.aml
│   ├── ParsingLINQtoJSON.aml
│   ├── Performance.aml
│   ├── PreserveObjectReferences.aml
│   ├── QueryingLINQtoJSON.aml
│   ├── ReadingWritingJSON.aml
│   ├── ReducingSerializedJSONSize.aml
│   ├── Samples/
│   │   ├── Bson/
│   │   │   ├── DeserializeFromBson.aml
│   │   │   ├── DeserializeFromBsonCollection.aml
│   │   │   └── SerializeToBson.aml
│   │   ├── Json/
│   │   │   ├── CustomJsonReader.aml
│   │   │   ├── CustomJsonWriter.aml
│   │   │   ├── ReadJsonWithJsonTextReader.aml
│   │   │   ├── ReadMultipleContentWithJsonReader.aml
│   │   │   └── WriteJsonWithJsonTextWriter.aml
│   │   ├── JsonPath/
│   │   │   ├── ErrorWhenNoMatchQuery.aml
│   │   │   ├── QueryJsonSelectToken.aml
│   │   │   ├── QueryJsonSelectTokenEscaped.aml
│   │   │   ├── QueryJsonSelectTokenJsonPath.aml
│   │   │   ├── QueryJsonSelectTokenWithLinq.aml
│   │   │   ├── RegexQuery.aml
│   │   │   └── StrictEqualsQuery.aml
│   │   ├── Linq/
│   │   │   ├── Clone.aml
│   │   │   ├── CreateJsonAnonymousObject.aml
│   │   │   ├── CreateJsonCollectionInitializer.aml
│   │   │   ├── CreateJsonDeclaratively.aml
│   │   │   ├── CreateJsonDynamic.aml
│   │   │   ├── CreateJsonJTokenWriter.aml
│   │   │   ├── CreateJsonManually.aml
│   │   │   ├── CreateReader.aml
│   │   │   ├── CreateWriter.aml
│   │   │   ├── DeepEquals.aml
│   │   │   ├── DeserializeWithLinq.aml
│   │   │   ├── FromObject.aml
│   │   │   ├── JObjectProperties.aml
│   │   │   ├── JTokenAnnotation.aml
│   │   │   ├── JValueCast.aml
│   │   │   ├── JValueValue.aml
│   │   │   ├── MergeJson.aml
│   │   │   ├── ModifyJson.aml
│   │   │   ├── ParseJsonAny.aml
│   │   │   ├── ParseJsonArray.aml
│   │   │   ├── ParseJsonObject.aml
│   │   │   ├── QueryJson.aml
│   │   │   ├── QueryJsonDynamic.aml
│   │   │   ├── QueryJsonLinq.aml
│   │   │   ├── ReadJTokenFromBson.aml
│   │   │   ├── ReadJson.aml
│   │   │   ├── SerializeWithLinq.aml
│   │   │   ├── ToObjectComplex.aml
│   │   │   ├── ToObjectGeneric.aml
│   │   │   ├── ToObjectType.aml
│   │   │   ├── ToString.aml
│   │   │   ├── ToStringJsonConverter.aml
│   │   │   ├── WriteJTokenToBson.aml
│   │   │   └── WriteToJsonFile.aml
│   │   ├── Samples.aml
│   │   ├── Schema/
│   │   │   ├── CreateJsonSchemaManually.aml
│   │   │   ├── JTokenIsValid.aml
│   │   │   ├── JTokenIsValidWithMessages.aml
│   │   │   ├── JTokenValidateWithEvent.aml
│   │   │   ├── JsonSchemaParse.aml
│   │   │   ├── JsonValidatingReaderAndSerializer.aml
│   │   │   ├── LoadJsonSchemaFromFile.aml
│   │   │   ├── RefJsonSchemaResolver.aml
│   │   │   └── SaveJsonSchemaToFile.aml
│   │   ├── Serializer/
│   │   │   ├── CustomContractResolver.aml
│   │   │   ├── CustomJsonConverter.aml
│   │   │   ├── CustomJsonConverterGeneric.aml
│   │   │   ├── CustomTraceWriter.aml
│   │   │   ├── DataContractAndDataMember.aml
│   │   │   ├── DefaultSettings.aml
│   │   │   ├── DefaultValueAttributeIgnore.aml
│   │   │   ├── DefaultValueHandlingIgnore.aml
│   │   │   ├── DeserializeAnonymousType.aml
│   │   │   ├── DeserializeCollection.aml
│   │   │   ├── DeserializeConstructorHandling.aml
│   │   │   ├── DeserializeCustomCreationConverter.aml
│   │   │   ├── DeserializeDataSet.aml
│   │   │   ├── DeserializeDateFormatString.aml
│   │   │   ├── DeserializeDictionary.aml
│   │   │   ├── DeserializeExtensionData.aml
│   │   │   ├── DeserializeImmutableCollections.aml
│   │   │   ├── DeserializeMetadataPropertyHandling.aml
│   │   │   ├── DeserializeMissingMemberHandling.aml
│   │   │   ├── DeserializeObject.aml
│   │   │   ├── DeserializeObjectCreationHandling.aml
│   │   │   ├── DeserializeWithDependencyInjection.aml
│   │   │   ├── DeserializeWithJsonSerializerFromFile.aml
│   │   │   ├── ErrorHandlingAttribute.aml
│   │   │   ├── ErrorHandlingEvent.aml
│   │   │   ├── JsonConstructorAttribute.aml
│   │   │   ├── JsonConverterAttributeClass.aml
│   │   │   ├── JsonConverterAttributeProperty.aml
│   │   │   ├── JsonObjectAttributeOptIn.aml
│   │   │   ├── JsonObjectAttributeOverrideIEnumerable.aml
│   │   │   ├── JsonPropertyItemLevelSetting.aml
│   │   │   ├── JsonPropertyName.aml
│   │   │   ├── JsonPropertyOrder.aml
│   │   │   ├── JsonPropertyPropertyLevelSetting.aml
│   │   │   ├── JsonPropertyRequired.aml
│   │   │   ├── MaxDepth.aml
│   │   │   ├── NamingStrategyAttributes.aml
│   │   │   ├── NamingStrategyCamelCase.aml
│   │   │   ├── NamingStrategySkipDictionaryKeys.aml
│   │   │   ├── NamingStrategySkipSpecifiedNames.aml
│   │   │   ├── NamingStrategySnakeCase.aml
│   │   │   ├── NullValueHandlingIgnore.aml
│   │   │   ├── PopulateObject.aml
│   │   │   ├── PreserveReferencesHandlingObject.aml
│   │   │   ├── PropertyJsonIgnore.aml
│   │   │   ├── ReferenceLoopHandlingIgnore.aml
│   │   │   ├── SerializationCallbackAttributes.aml
│   │   │   ├── SerializeCollection.aml
│   │   │   ├── SerializeConditionalProperty.aml
│   │   │   ├── SerializeContractResolver.aml
│   │   │   ├── SerializeDataSet.aml
│   │   │   ├── SerializeDateFormatHandling.aml
│   │   │   ├── SerializeDateFormatString.aml
│   │   │   ├── SerializeDateTimeZoneHandling.aml
│   │   │   ├── SerializeDictionary.aml
│   │   │   ├── SerializeExtensionData.aml
│   │   │   ├── SerializeImmutableCollections.aml
│   │   │   ├── SerializeObject.aml
│   │   │   ├── SerializeRawJson.aml
│   │   │   ├── SerializeSerializationBinder.aml
│   │   │   ├── SerializeTypeNameHandling.aml
│   │   │   ├── SerializeUnindentedJson.aml
│   │   │   ├── SerializeWithJsonConverters.aml
│   │   │   ├── SerializeWithJsonSerializerToFile.aml
│   │   │   └── TraceWriter.aml
│   │   └── Xml/
│   │       ├── ConvertJsonToXml.aml
│   │       ├── ConvertXmlToJson.aml
│   │       └── ConvertXmlToJsonForceArray.aml
│   ├── SelectToken.aml
│   ├── SerializationAttributes.aml
│   ├── SerializationCallbacks.aml
│   ├── SerializationErrorHandling.aml
│   ├── SerializationGuide.aml
│   ├── SerializationSettings.aml
│   ├── SerializationTracing.aml
│   ├── SerializingCollections.aml
│   ├── SerializingJSON.aml
│   ├── SerializingJSONFragments.aml
│   ├── doc.content
│   ├── doc.shfbproj
│   ├── license.txt
│   └── readme.txt
├── ISSUE_TEMPLATE.md
├── LICENSE.md
├── README.md
├── Src/
│   ├── Directory.Build.props
│   ├── Newtonsoft.Json/
│   │   ├── Bson/
│   │   │   ├── BsonBinaryType.cs
│   │   │   ├── BsonBinaryWriter.cs
│   │   │   ├── BsonObjectId.cs
│   │   │   ├── BsonReader.cs
│   │   │   ├── BsonToken.cs
│   │   │   ├── BsonType.cs
│   │   │   └── BsonWriter.cs
│   │   ├── CompatibilitySuppressions.xml
│   │   ├── ConstructorHandling.cs
│   │   ├── Converters/
│   │   │   ├── BinaryConverter.cs
│   │   │   ├── BsonObjectIdConverter.cs
│   │   │   ├── CustomCreationConverter.cs
│   │   │   ├── DataSetConverter.cs
│   │   │   ├── DataTableConverter.cs
│   │   │   ├── DateTimeConverterBase.cs
│   │   │   ├── DiscriminatedUnionConverter.cs
│   │   │   ├── EntityKeyMemberConverter.cs
│   │   │   ├── ExpandoObjectConverter.cs
│   │   │   ├── IsoDateTimeConverter.cs
│   │   │   ├── JavaScriptDateTimeConverter.cs
│   │   │   ├── KeyValuePairConverter.cs
│   │   │   ├── RegexConverter.cs
│   │   │   ├── StringEnumConverter.cs
│   │   │   ├── UnixDateTimeConverter.cs
│   │   │   ├── VersionConverter.cs
│   │   │   └── XmlNodeConverter.cs
│   │   ├── DateFormatHandling.cs
│   │   ├── DateParseHandling.cs
│   │   ├── DateTimeZoneHandling.cs
│   │   ├── DefaultJsonNameTable.cs
│   │   ├── DefaultValueHandling.cs
│   │   ├── Dynamic.snk
│   │   ├── FloatFormatHandling.cs
│   │   ├── FloatParseHandling.cs
│   │   ├── FormatterAssemblyStyle.cs
│   │   ├── Formatting.cs
│   │   ├── IArrayPool.cs
│   │   ├── IJsonLineInfo.cs
│   │   ├── JsonArrayAttribute.cs
│   │   ├── JsonConstructorAttribute.cs
│   │   ├── JsonContainerAttribute.cs
│   │   ├── JsonConvert.cs
│   │   ├── JsonConverter.cs
│   │   ├── JsonConverterAttribute.cs
│   │   ├── JsonConverterCollection.cs
│   │   ├── JsonDictionaryAttribute.cs
│   │   ├── JsonException.cs
│   │   ├── JsonExtensionDataAttribute.cs
│   │   ├── JsonIgnoreAttribute.cs
│   │   ├── JsonNameTable.cs
│   │   ├── JsonObjectAttribute.cs
│   │   ├── JsonPosition.cs
│   │   ├── JsonPropertyAttribute.cs
│   │   ├── JsonReader.Async.cs
│   │   ├── JsonReader.cs
│   │   ├── JsonReaderException.cs
│   │   ├── JsonRequiredAttribute.cs
│   │   ├── JsonSerializationException.cs
│   │   ├── JsonSerializer.cs
│   │   ├── JsonSerializerSettings.cs
│   │   ├── JsonTextReader.Async.cs
│   │   ├── JsonTextReader.cs
│   │   ├── JsonTextWriter.Async.cs
│   │   ├── JsonTextWriter.cs
│   │   ├── JsonToken.cs
│   │   ├── JsonValidatingReader.cs
│   │   ├── JsonWriter.Async.cs
│   │   ├── JsonWriter.cs
│   │   ├── JsonWriterException.cs
│   │   ├── Linq/
│   │   │   ├── CommentHandling.cs
│   │   │   ├── DuplicatePropertyNameHandling.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── IJEnumerable.cs
│   │   │   ├── JArray.Async.cs
│   │   │   ├── JArray.cs
│   │   │   ├── JConstructor.Async.cs
│   │   │   ├── JConstructor.cs
│   │   │   ├── JContainer.Async.cs
│   │   │   ├── JContainer.cs
│   │   │   ├── JEnumerable.cs
│   │   │   ├── JObject.Async.cs
│   │   │   ├── JObject.cs
│   │   │   ├── JProperty.Async.cs
│   │   │   ├── JProperty.cs
│   │   │   ├── JPropertyDescriptor.cs
│   │   │   ├── JPropertyKeyedCollection.cs
│   │   │   ├── JRaw.Async.cs
│   │   │   ├── JRaw.cs
│   │   │   ├── JToken.Async.cs
│   │   │   ├── JToken.cs
│   │   │   ├── JTokenEqualityComparer.cs
│   │   │   ├── JTokenReader.cs
│   │   │   ├── JTokenType.cs
│   │   │   ├── JTokenWriter.Async.cs
│   │   │   ├── JTokenWriter.cs
│   │   │   ├── JValue.Async.cs
│   │   │   ├── JValue.cs
│   │   │   ├── JsonCloneSettings.cs
│   │   │   ├── JsonLoadSettings.cs
│   │   │   ├── JsonMergeSettings.cs
│   │   │   ├── JsonPath/
│   │   │   │   ├── ArrayIndexFilter.cs
│   │   │   │   ├── ArrayMultipleIndexFilter.cs
│   │   │   │   ├── ArraySliceFilter.cs
│   │   │   │   ├── FieldFilter.cs
│   │   │   │   ├── FieldMultipleFilter.cs
│   │   │   │   ├── JPath.cs
│   │   │   │   ├── PathFilter.cs
│   │   │   │   ├── QueryExpression.cs
│   │   │   │   ├── QueryFilter.cs
│   │   │   │   ├── QueryScanFilter.cs
│   │   │   │   ├── RootFilter.cs
│   │   │   │   ├── ScanFilter.cs
│   │   │   │   └── ScanMultipleFilter.cs
│   │   │   ├── JsonSelectSettings.cs
│   │   │   ├── LineInfoHandling.cs
│   │   │   ├── MergeArrayHandling.cs
│   │   │   └── MergeNullValueHandling.cs
│   │   ├── MemberSerialization.cs
│   │   ├── MetadataPropertyHandling.cs
│   │   ├── MissingMemberHandling.cs
│   │   ├── Newtonsoft.Json.csproj
│   │   ├── Newtonsoft.Json.ruleset
│   │   ├── NullValueHandling.cs
│   │   ├── ObjectCreationHandling.cs
│   │   ├── PreserveReferencesHandling.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── README.md
│   │   ├── ReferenceLoopHandling.cs
│   │   ├── Required.cs
│   │   ├── Schema/
│   │   │   ├── Extensions.cs
│   │   │   ├── JsonSchema.cs
│   │   │   ├── JsonSchemaBuilder.cs
│   │   │   ├── JsonSchemaConstants.cs
│   │   │   ├── JsonSchemaException.cs
│   │   │   ├── JsonSchemaGenerator.cs
│   │   │   ├── JsonSchemaModel.cs
│   │   │   ├── JsonSchemaModelBuilder.cs
│   │   │   ├── JsonSchemaNode.cs
│   │   │   ├── JsonSchemaNodeCollection.cs
│   │   │   ├── JsonSchemaResolver.cs
│   │   │   ├── JsonSchemaType.cs
│   │   │   ├── JsonSchemaWriter.cs
│   │   │   ├── UndefinedSchemaIdHandling.cs
│   │   │   ├── ValidationEventArgs.cs
│   │   │   └── ValidationEventHandler.cs
│   │   ├── Serialization/
│   │   │   ├── CachedAttributeGetter.cs
│   │   │   ├── CamelCaseNamingStrategy.cs
│   │   │   ├── CamelCasePropertyNamesContractResolver.cs
│   │   │   ├── DefaultContractResolver.cs
│   │   │   ├── DefaultNamingStrategy.cs
│   │   │   ├── DefaultReferenceResolver.cs
│   │   │   ├── DefaultSerializationBinder.cs
│   │   │   ├── DiagnosticsTraceWriter.cs
│   │   │   ├── DynamicValueProvider.cs
│   │   │   ├── ErrorContext.cs
│   │   │   ├── ErrorEventArgs.cs
│   │   │   ├── ExpressionValueProvider.cs
│   │   │   ├── FormatterConverter.cs
│   │   │   ├── IAttributeProvider.cs
│   │   │   ├── IContractResolver.cs
│   │   │   ├── IReferenceResolver.cs
│   │   │   ├── ISerializationBinder.cs
│   │   │   ├── ITraceWriter.cs
│   │   │   ├── IValueProvider.cs
│   │   │   ├── JsonArrayContract.cs
│   │   │   ├── JsonContainerContract.cs
│   │   │   ├── JsonContract.cs
│   │   │   ├── JsonDictionaryContract.cs
│   │   │   ├── JsonDynamicContract.cs
│   │   │   ├── JsonFormatterConverter.cs
│   │   │   ├── JsonISerializableContract.cs
│   │   │   ├── JsonLinqContract.cs
│   │   │   ├── JsonObjectContract.cs
│   │   │   ├── JsonPrimitiveContract.cs
│   │   │   ├── JsonProperty.cs
│   │   │   ├── JsonPropertyCollection.cs
│   │   │   ├── JsonSerializerInternalBase.cs
│   │   │   ├── JsonSerializerInternalReader.cs
│   │   │   ├── JsonSerializerInternalWriter.cs
│   │   │   ├── JsonSerializerProxy.cs
│   │   │   ├── JsonStringContract.cs
│   │   │   ├── JsonTypeReflector.cs
│   │   │   ├── KebabCaseNamingStrategy.cs
│   │   │   ├── MemoryTraceWriter.cs
│   │   │   ├── NamingStrategy.cs
│   │   │   ├── ObjectConstructor.cs
│   │   │   ├── OnErrorAttribute.cs
│   │   │   ├── ReflectionAttributeProvider.cs
│   │   │   ├── ReflectionValueProvider.cs
│   │   │   ├── SerializationBinderAdapter.cs
│   │   │   ├── SnakeCaseNamingStrategy.cs
│   │   │   ├── TraceJsonReader.cs
│   │   │   └── TraceJsonWriter.cs
│   │   ├── SerializationBinder.cs
│   │   ├── StringEscapeHandling.cs
│   │   ├── TraceLevel.cs
│   │   ├── TypeNameAssemblyFormatHandling.cs
│   │   ├── TypeNameHandling.cs
│   │   ├── Utilities/
│   │   │   ├── AsyncUtils.cs
│   │   │   ├── Base64Encoder.cs
│   │   │   ├── BidirectionalDictionary.cs
│   │   │   ├── BoxedPrimitives.cs
│   │   │   ├── CollectionUtils.cs
│   │   │   ├── CollectionWrapper.cs
│   │   │   ├── ConvertUtils.cs
│   │   │   ├── DateTimeParser.cs
│   │   │   ├── DateTimeUtils.cs
│   │   │   ├── DictionaryWrapper.cs
│   │   │   ├── DynamicProxy.cs
│   │   │   ├── DynamicProxyMetaObject.cs
│   │   │   ├── DynamicReflectionDelegateFactory.cs
│   │   │   ├── DynamicUtils.cs
│   │   │   ├── DynamicallyAccessedMemberTypes.cs
│   │   │   ├── DynamicallyAccessedMembersAttribute.cs
│   │   │   ├── EnumInfo.cs
│   │   │   ├── EnumUtils.cs
│   │   │   ├── ExpressionReflectionDelegateFactory.cs
│   │   │   ├── FSharpUtils.cs
│   │   │   ├── FeatureGuardAttribute.cs
│   │   │   ├── FeatureSwitchDefinitionAttribute.cs
│   │   │   ├── ILGeneratorExtensions.cs
│   │   │   ├── ImmutableCollectionsUtils.cs
│   │   │   ├── JavaScriptUtils.cs
│   │   │   ├── JsonTokenUtils.cs
│   │   │   ├── LateBoundReflectionDelegateFactory.cs
│   │   │   ├── LinqBridge.cs
│   │   │   ├── MathUtils.cs
│   │   │   ├── MethodBinder.cs
│   │   │   ├── MethodCall.cs
│   │   │   ├── MiscellaneousUtils.cs
│   │   │   ├── NullableAttributes.cs
│   │   │   ├── ReflectionDelegateFactory.cs
│   │   │   ├── ReflectionObject.cs
│   │   │   ├── ReflectionUtils.cs
│   │   │   ├── RequiresDynamicCodeAttribute.cs
│   │   │   ├── RequiresUnreferencedCodeAttribute.cs
│   │   │   ├── StringBuffer.cs
│   │   │   ├── StringReference.cs
│   │   │   ├── StringUtils.cs
│   │   │   ├── StructMultiKey.cs
│   │   │   ├── ThreadSafeStore.cs
│   │   │   ├── TypeExtensions.cs
│   │   │   ├── UnconditionalSuppressMessageAttribute.cs
│   │   │   └── ValidationUtils.cs
│   │   └── WriteState.cs
│   ├── Newtonsoft.Json.FuzzTests/
│   │   ├── FuzzTests.cs
│   │   └── Newtonsoft.Json.FuzzTests.csproj
│   ├── Newtonsoft.Json.TestConsole/
│   │   ├── App.config
│   │   ├── Newtonsoft.Json.TestConsole.csproj
│   │   └── Program.cs
│   ├── Newtonsoft.Json.Tests/
│   │   ├── App.config
│   │   ├── Benchmarks/
│   │   │   ├── BenchmarkConstants.cs
│   │   │   ├── DeserializeBenchmarks.cs
│   │   │   ├── DeserializeComparisonBenchmarks.cs
│   │   │   ├── JTokenBenchmarks.cs
│   │   │   ├── JValueConvertBenchmarks.cs
│   │   │   ├── JsonTextReaderBenchmarks.cs
│   │   │   ├── JsonTextWriterBenchmarks.cs
│   │   │   ├── LargeJArrayBenchmarks.cs
│   │   │   ├── LowLevelBenchmarks.cs
│   │   │   ├── Runner.cs
│   │   │   ├── SerializeBenchmarks.cs
│   │   │   ├── SerializeComparisonBenchmarks.cs
│   │   │   └── XmlNodeConverterBenchmarks.cs
│   │   ├── Bson/
│   │   │   ├── BsonReaderAsyncTests.cs
│   │   │   ├── BsonReaderTests.cs
│   │   │   ├── BsonWriterAsyncTests.cs
│   │   │   └── BsonWriterTests.cs
│   │   ├── Converters/
│   │   │   ├── BinaryConverterTests.cs
│   │   │   ├── CustomCreationConverterTests.cs
│   │   │   ├── DataSetConverterTests.cs
│   │   │   ├── DataTableConverterTests.cs
│   │   │   ├── DiscriminatedUnionConverterTests.cs
│   │   │   ├── ExpandoObjectConverterTests.cs
│   │   │   ├── GenericJsonConverterTests.cs
│   │   │   ├── IsoDateTimeConverterTests.cs
│   │   │   ├── JavaScriptDateTimeConverterTests.cs
│   │   │   ├── KeyValuePairConverterTests.cs
│   │   │   ├── ObjectIdConverterTests.cs
│   │   │   ├── RegexConverterTests.cs
│   │   │   ├── StringEnumConverterTests.cs
│   │   │   ├── UnixDateTimeConverterTests.cs
│   │   │   ├── VersionConverterTests.cs
│   │   │   └── XmlNodeConverterTest.cs
│   │   ├── DemoTests.cs
│   │   ├── Documentation/
│   │   │   ├── ConditionalPropertiesTests.cs
│   │   │   ├── ConvertingJsonAndXmlTests.cs
│   │   │   ├── JsonSchemaTests.cs
│   │   │   ├── LinqToJsonTests.cs
│   │   │   ├── PerformanceTests.cs
│   │   │   ├── ReadingAndWritingJsonTests.cs
│   │   │   ├── Samples/
│   │   │   │   ├── Bson/
│   │   │   │   │   ├── DeserializeFromBson.cs
│   │   │   │   │   ├── DeserializeFromBsonCollection.cs
│   │   │   │   │   └── SerializeToBson.cs
│   │   │   │   ├── Json/
│   │   │   │   │   ├── CustomJsonReader.cs
│   │   │   │   │   ├── CustomJsonWriter.cs
│   │   │   │   │   ├── ReadJsonWithJsonTextReader.cs
│   │   │   │   │   ├── ReadMultipleContentWithJsonReader.cs
│   │   │   │   │   └── WriteJsonWithJsonTextWriter.cs
│   │   │   │   ├── JsonPath/
│   │   │   │   │   ├── ErrorWhenNoMatchQuery.cs
│   │   │   │   │   ├── QueryJsonSelectToken.cs
│   │   │   │   │   ├── QueryJsonSelectTokenEscaped.cs
│   │   │   │   │   ├── QueryJsonSelectTokenJsonPath.cs
│   │   │   │   │   ├── QueryJsonSelectTokenWithLinq.cs
│   │   │   │   │   ├── RegexQuery.cs
│   │   │   │   │   └── StrictEqualsQuery.cs
│   │   │   │   ├── Linq/
│   │   │   │   │   ├── Clone.cs
│   │   │   │   │   ├── CreateJsonAnonymousObject.cs
│   │   │   │   │   ├── CreateJsonCollectionInitializer.cs
│   │   │   │   │   ├── CreateJsonDeclaratively.cs
│   │   │   │   │   ├── CreateJsonDynamic.cs
│   │   │   │   │   ├── CreateJsonJTokenWriter.cs
│   │   │   │   │   ├── CreateJsonManually.cs
│   │   │   │   │   ├── CreateReader.cs
│   │   │   │   │   ├── CreateWriter.cs
│   │   │   │   │   ├── DeepEquals.cs
│   │   │   │   │   ├── DeserializeWithLinq.cs
│   │   │   │   │   ├── FromObject.cs
│   │   │   │   │   ├── JObjectProperties.cs
│   │   │   │   │   ├── JTokenAnnotation.cs
│   │   │   │   │   ├── JValueCast.cs
│   │   │   │   │   ├── JValueValue.cs
│   │   │   │   │   ├── MergeJson.cs
│   │   │   │   │   ├── ModifyJson.cs
│   │   │   │   │   ├── ParseJsonAny.cs
│   │   │   │   │   ├── ParseJsonArray.cs
│   │   │   │   │   ├── ParseJsonObject.cs
│   │   │   │   │   ├── QueryJson.cs
│   │   │   │   │   ├── QueryJsonDynamic.cs
│   │   │   │   │   ├── QueryJsonIgnoreCase.cs
│   │   │   │   │   ├── QueryJsonLinq.cs
│   │   │   │   │   ├── ReadJTokenFromBson.cs
│   │   │   │   │   ├── ReadJson.cs
│   │   │   │   │   ├── SerializeWithLinq.cs
│   │   │   │   │   ├── ToObjectComplex.cs
│   │   │   │   │   ├── ToObjectGeneric.cs
│   │   │   │   │   ├── ToObjectType.cs
│   │   │   │   │   ├── ToString.cs
│   │   │   │   │   ├── ToStringJsonConverter.cs
│   │   │   │   │   ├── WriteJTokenToBson.cs
│   │   │   │   │   └── WriteToJsonFile.cs
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── CreateJsonSchemaManually.cs
│   │   │   │   │   ├── JTokenIsValid.cs
│   │   │   │   │   ├── JTokenIsValidWithMessages.cs
│   │   │   │   │   ├── JTokenValidateWithEvent.cs
│   │   │   │   │   ├── JsonSchemaParse.cs
│   │   │   │   │   ├── JsonValidatingReaderAndSerializer.cs
│   │   │   │   │   ├── LoadJsonSchemaFromFile.cs
│   │   │   │   │   ├── RefJsonSchemaResolver.cs
│   │   │   │   │   └── SaveJsonSchemaToFile.cs
│   │   │   │   ├── Serializer/
│   │   │   │   │   ├── CustomContractResolver.cs
│   │   │   │   │   ├── CustomJsonConverter.cs
│   │   │   │   │   ├── CustomJsonConverterGeneric.cs
│   │   │   │   │   ├── CustomTraceWriter.cs
│   │   │   │   │   ├── DataContractAndDataMember.cs
│   │   │   │   │   ├── DefaultSettings.cs
│   │   │   │   │   ├── DefaultValueAttributeIgnore.cs
│   │   │   │   │   ├── DefaultValueHandlingIgnore.cs
│   │   │   │   │   ├── DeserializeAnonymousType.cs
│   │   │   │   │   ├── DeserializeCollection.cs
│   │   │   │   │   ├── DeserializeConstructorHandling.cs
│   │   │   │   │   ├── DeserializeCustomCreationConverter.cs
│   │   │   │   │   ├── DeserializeDataSet.cs
│   │   │   │   │   ├── DeserializeDateFormatString.cs
│   │   │   │   │   ├── DeserializeDictionary.cs
│   │   │   │   │   ├── DeserializeExtensionData.cs
│   │   │   │   │   ├── DeserializeImmutableCollections.cs
│   │   │   │   │   ├── DeserializeMetadataPropertyHandling.cs
│   │   │   │   │   ├── DeserializeMissingMemberHandling.cs
│   │   │   │   │   ├── DeserializeObject.cs
│   │   │   │   │   ├── DeserializeObjectCreationHandling.cs
│   │   │   │   │   ├── DeserializeWithDependencyInjection.cs
│   │   │   │   │   ├── DeserializeWithJsonSerializerFromFile.cs
│   │   │   │   │   ├── ErrorHandlingAttribute.cs
│   │   │   │   │   ├── ErrorHandlingEvent.cs
│   │   │   │   │   ├── JsonConstructorAttribute.cs
│   │   │   │   │   ├── JsonConverterAttributeClass.cs
│   │   │   │   │   ├── JsonConverterAttributeProperty.cs
│   │   │   │   │   ├── JsonObjectAttributeOptIn.cs
│   │   │   │   │   ├── JsonObjectAttributeOverrideIEnumerable.cs
│   │   │   │   │   ├── JsonPropertyItemLevelSetting.cs
│   │   │   │   │   ├── JsonPropertyName.cs
│   │   │   │   │   ├── JsonPropertyOrder.cs
│   │   │   │   │   ├── JsonPropertyPropertyLevelSetting.cs
│   │   │   │   │   ├── JsonPropertyRequired.cs
│   │   │   │   │   ├── MaxDepth.cs
│   │   │   │   │   ├── NamingStrategyAttributes.cs
│   │   │   │   │   ├── NamingStrategyCamelCase.cs
│   │   │   │   │   ├── NamingStrategyKebabCase.cs
│   │   │   │   │   ├── NamingStrategySkipDictionaryKeys.cs
│   │   │   │   │   ├── NamingStrategySkipSpecifiedNames.cs
│   │   │   │   │   ├── NamingStrategySnakeCase.cs
│   │   │   │   │   ├── NullValueHandlingIgnore.cs
│   │   │   │   │   ├── PopulateObject.cs
│   │   │   │   │   ├── PreserveReferencesHandlingObject.cs
│   │   │   │   │   ├── PropertyJsonIgnore.cs
│   │   │   │   │   ├── ReferenceLoopHandlingIgnore.cs
│   │   │   │   │   ├── SerializationCallbackAttributes.cs
│   │   │   │   │   ├── SerializeCollection.cs
│   │   │   │   │   ├── SerializeConditionalProperty.cs
│   │   │   │   │   ├── SerializeContractResolver.cs
│   │   │   │   │   ├── SerializeDataSet.cs
│   │   │   │   │   ├── SerializeDateFormatHandling.cs
│   │   │   │   │   ├── SerializeDateFormatString.cs
│   │   │   │   │   ├── SerializeDateTimeZoneHandling.cs
│   │   │   │   │   ├── SerializeDictionary.cs
│   │   │   │   │   ├── SerializeExtensionData.cs
│   │   │   │   │   ├── SerializeImmutableCollections.cs
│   │   │   │   │   ├── SerializeObject.cs
│   │   │   │   │   ├── SerializeRawJson.cs
│   │   │   │   │   ├── SerializeSerializationBinder.cs
│   │   │   │   │   ├── SerializeTypeNameHandling.cs
│   │   │   │   │   ├── SerializeUnindentedJson.cs
│   │   │   │   │   ├── SerializeWithJsonConverters.cs
│   │   │   │   │   ├── SerializeWithJsonSerializerToFile.cs
│   │   │   │   │   └── TraceWriter.cs
│   │   │   │   └── Xml/
│   │   │   │       ├── ConvertJsonToXml.cs
│   │   │   │       ├── ConvertXmlToJson.cs
│   │   │   │       └── ConvertXmlToJsonForceArray.cs
│   │   │   ├── SerializationTests.cs
│   │   │   └── TraceWriterTests.cs
│   │   ├── ExceptionTests.cs
│   │   ├── FileSystemEntityModel.Designer.cs
│   │   ├── FileSystemEntityModel.edmx
│   │   ├── FuzzRegressionTests.cs
│   │   ├── Issues/
│   │   │   ├── Issue0198.cs
│   │   │   ├── Issue0573.cs
│   │   │   ├── Issue1307.cs
│   │   │   ├── Issue1321.cs
│   │   │   ├── Issue1322.cs
│   │   │   ├── Issue1327.cs
│   │   │   ├── Issue1351.cs
│   │   │   ├── Issue1353.cs
│   │   │   ├── Issue1362.cs
│   │   │   ├── Issue1396.cs
│   │   │   ├── Issue1404.cs
│   │   │   ├── Issue1445.cs
│   │   │   ├── Issue1460.cs
│   │   │   ├── Issue1461.cs
│   │   │   ├── Issue1512.cs
│   │   │   ├── Issue1541.cs
│   │   │   ├── Issue1545.cs
│   │   │   ├── Issue1552.cs
│   │   │   ├── Issue1561.cs
│   │   │   ├── Issue1566.cs
│   │   │   ├── Issue1569.cs
│   │   │   ├── Issue1574.cs
│   │   │   ├── Issue1576.cs
│   │   │   ├── Issue1592.cs
│   │   │   ├── Issue1593.cs
│   │   │   ├── Issue1597.cs
│   │   │   ├── Issue1598.cs
│   │   │   ├── Issue1619.cs
│   │   │   ├── Issue1620.cs
│   │   │   ├── Issue1642.cs
│   │   │   ├── Issue1682.cs
│   │   │   ├── Issue1708.cs
│   │   │   ├── Issue1711.cs
│   │   │   ├── Issue1719.cs
│   │   │   ├── Issue1725.cs
│   │   │   ├── Issue1734.cs
│   │   │   ├── Issue1752.cs
│   │   │   ├── Issue1757.cs
│   │   │   ├── Issue1778.cs
│   │   │   ├── Issue1796.cs
│   │   │   ├── Issue1798.cs
│   │   │   ├── Issue1834.cs
│   │   │   ├── Issue1837.cs
│   │   │   ├── Issue1874.cs
│   │   │   ├── Issue1877.cs
│   │   │   ├── Issue1962.cs
│   │   │   ├── Issue1984.cs
│   │   │   ├── Issue2082.cs
│   │   │   ├── Issue2156.cs
│   │   │   ├── Issue2165.cs
│   │   │   ├── Issue2176.cs
│   │   │   ├── Issue2444.cs
│   │   │   ├── Issue2450.cs
│   │   │   ├── Issue2484.cs
│   │   │   ├── Issue2492.cs
│   │   │   ├── Issue2504.cs
│   │   │   ├── Issue2529.cs
│   │   │   ├── Issue2638.cs
│   │   │   ├── Issue2694.cs
│   │   │   ├── Issue2708.cs
│   │   │   ├── Issue2735.cs
│   │   │   ├── Issue2768.cs
│   │   │   ├── Issue2775.cs
│   │   │   ├── Issue3055.cs
│   │   │   ├── Issue3056.cs
│   │   │   └── Issue3080.cs
│   │   ├── JsonArrayAttributeTests.cs
│   │   ├── JsonConvertTest.cs
│   │   ├── JsonTextReaderTests/
│   │   │   ├── ExceptionHandlingAsyncTests.cs
│   │   │   ├── ExceptionHandlingTests.cs
│   │   │   ├── FloatAsyncTests.cs
│   │   │   ├── FloatTests.cs
│   │   │   ├── MiscAsyncTests.cs
│   │   │   ├── MiscTests.cs
│   │   │   ├── ParseAsyncTests.cs
│   │   │   ├── ParseTests.cs
│   │   │   ├── ReadAsyncTests.cs
│   │   │   └── ReadTests.cs
│   │   ├── JsonTextWriterAsyncTests.cs
│   │   ├── JsonTextWriterTest.cs
│   │   ├── JsonValidatingReaderTests.cs
│   │   ├── Linq/
│   │   │   ├── AnnotationsTests.cs
│   │   │   ├── ComponentModel/
│   │   │   │   ├── BindingTests.cs
│   │   │   │   └── JPropertyDescriptorTests.cs
│   │   │   ├── DynamicTests.cs
│   │   │   ├── JArrayTests.cs
│   │   │   ├── JConstructorAsyncTests.cs
│   │   │   ├── JConstructorTests.cs
│   │   │   ├── JObjectAsyncTests.cs
│   │   │   ├── JObjectTests.cs
│   │   │   ├── JPropertyAsyncTests.cs
│   │   │   ├── JPropertyTests.cs
│   │   │   ├── JRawTests.cs
│   │   │   ├── JTokenAsyncTests.cs
│   │   │   ├── JTokenEqualityComparerTests.cs
│   │   │   ├── JTokenReaderAsyncTests.cs
│   │   │   ├── JTokenReaderTest.cs
│   │   │   ├── JTokenTests.cs
│   │   │   ├── JTokenWriterAsyncTests.cs
│   │   │   ├── JTokenWriterTest.cs
│   │   │   ├── JValueAsyncTests.cs
│   │   │   ├── JValueTests.cs
│   │   │   ├── JsonPath/
│   │   │   │   ├── JPathExecuteTests.cs
│   │   │   │   ├── JPathParseTests.cs
│   │   │   │   └── QueryExpressionTests.cs
│   │   │   ├── LinqToJsonAsyncTests.cs
│   │   │   ├── LinqToJsonTest.cs
│   │   │   └── MergeTests.cs
│   │   ├── LinqToSql/
│   │   │   ├── Department.cs
│   │   │   ├── DepartmentConverter.cs
│   │   │   ├── GuidByteArrayConverter.cs
│   │   │   ├── LinqToSqlClasses.dbml
│   │   │   ├── LinqToSqlClasses.dbml.layout
│   │   │   ├── LinqToSqlClasses.designer.cs
│   │   │   ├── LinqToSqlClassesSerializationTests.cs
│   │   │   ├── Person.cs
│   │   │   └── Role.cs
│   │   ├── Newtonsoft.Json.Tests.csproj
│   │   ├── PoisonText.txt
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── Schema/
│   │   │   ├── ExtensionsTests.cs
│   │   │   ├── JsonSchemaBuilderTests.cs
│   │   │   ├── JsonSchemaGeneratorTests.cs
│   │   │   ├── JsonSchemaModelBuilderTests.cs
│   │   │   ├── JsonSchemaNodeTests.cs
│   │   │   ├── JsonSchemaSpecTests.cs
│   │   │   ├── JsonSchemaTests.cs
│   │   │   ├── PerformanceTests.cs
│   │   │   └── Specs/
│   │   │       ├── additionalItems.json
│   │   │       ├── additionalProperties.json
│   │   │       ├── dependencies.json
│   │   │       ├── disallow.json
│   │   │       ├── divisibleBy.json
│   │   │       ├── enum.json
│   │   │       ├── extends.json
│   │   │       ├── items.json
│   │   │       ├── maxItems.json
│   │   │       ├── maxLength.json
│   │   │       ├── maximum.json
│   │   │       ├── minItems.json
│   │   │       ├── minLength.json
│   │   │       ├── minimum.json
│   │   │       ├── pattern.json
│   │   │       ├── patternProperties.json
│   │   │       ├── properties.json
│   │   │       ├── ref.json
│   │   │       ├── required.json
│   │   │       ├── type.json
│   │   │       └── uniqueItems.json
│   │   ├── Serialization/
│   │   │   ├── CamelCaseNamingStrategyTests.cs
│   │   │   ├── CamelCasePropertyNamesContractResolverTests.cs
│   │   │   ├── ConstructorHandlingTests.cs
│   │   │   ├── ContractResolverTests.cs
│   │   │   ├── DateOnlyTests.cs
│   │   │   ├── DateTimeZoneHandlingTests.cs
│   │   │   ├── DefaultValueHandlingTests.cs
│   │   │   ├── DependencyInjectionTests.cs
│   │   │   ├── DynamicConcreteTests.cs
│   │   │   ├── DynamicTests.cs
│   │   │   ├── EntitiesSerializationTests.cs
│   │   │   ├── ExtensionDataTests.cs
│   │   │   ├── FSharpTests.cs
│   │   │   ├── ImmutableCollectionsTests.cs
│   │   │   ├── JsonPropertyCollectionTests.cs
│   │   │   ├── JsonSerializerCollectionsTests.cs
│   │   │   ├── JsonSerializerTest.cs
│   │   │   ├── KebabCaseNamingStrategyTests.cs
│   │   │   ├── MetadataPropertyHandlingTests.cs
│   │   │   ├── MissingMemberHandlingTests.cs
│   │   │   ├── NamingStrategyEquality.cs
│   │   │   ├── NullValueHandlingTests.cs
│   │   │   ├── PopulateTests.cs
│   │   │   ├── PreserveReferencesHandlingTests.cs
│   │   │   ├── ReferenceLoopHandlingTests.cs
│   │   │   ├── ReflectionAttributeProviderTests.cs
│   │   │   ├── SerializationErrorHandlingTests.cs
│   │   │   ├── SerializationEventAttributeTests.cs
│   │   │   ├── ShouldSerializeTests.cs
│   │   │   ├── SnakeCaseNamingStrategyTests.cs
│   │   │   ├── TimeOnlyTests.cs
│   │   │   ├── TraceWriterTests.cs
│   │   │   ├── TypeNameHandlingTests.cs
│   │   │   └── WebApiIntegrationTests.cs
│   │   ├── SpaceShipV2.bson
│   │   ├── TestFixtureBase.cs
│   │   ├── TestObjects/
│   │   │   ├── A.cs
│   │   │   ├── AATestClass.cs
│   │   │   ├── Aa.cs
│   │   │   ├── AbstractDictionaryTestClass.cs
│   │   │   ├── AbstractGenericBase.cs
│   │   │   ├── AbstractImplementationDictionaryTestClass.cs
│   │   │   ├── AbstractImplementationListTestClass.cs
│   │   │   ├── AbstractImplementationTestClass.cs
│   │   │   ├── AbstractListTestClass.cs
│   │   │   ├── AbstractTestClass.cs
│   │   │   ├── Address.cs
│   │   │   ├── Animal.cs
│   │   │   ├── AnswerFilterModel.cs
│   │   │   ├── Antworten.cs
│   │   │   ├── ArgumentConverterPrecedenceClassConverter.cs
│   │   │   ├── Article.cs
│   │   │   ├── ArticleCollection.cs
│   │   │   ├── AttachmentReadConverter.cs
│   │   │   ├── B.cs
│   │   │   ├── BBTestClass.cs
│   │   │   ├── BadJsonPropertyClass.cs
│   │   │   ├── Bar.cs
│   │   │   ├── Bar1.cs
│   │   │   ├── BaseClass.cs
│   │   │   ├── BaseClassVirtual.cs
│   │   │   ├── BaseClassWithProtectedVirtual.cs
│   │   │   ├── BaseConstructorType.cs
│   │   │   ├── BaseDataContract.cs
│   │   │   ├── BaseDataContractWithHidden.cs
│   │   │   ├── BaseType.cs
│   │   │   ├── BaseWithContract.cs
│   │   │   ├── BaseWithPrivate.cs
│   │   │   ├── BaseWithoutContract.cs
│   │   │   ├── Bb.cs
│   │   │   ├── Binding.cs
│   │   │   ├── Binding_DisallowNull.cs
│   │   │   ├── BusRun.cs
│   │   │   ├── ByteArrayTestClass.cs
│   │   │   ├── Car.cs
│   │   │   ├── ChildClass.cs
│   │   │   ├── ChildClassVirtual.cs
│   │   │   ├── ChildClassWithProtectedOverridePlusJsonProperty.cs
│   │   │   ├── ChildDataContractWithHidden.cs
│   │   │   ├── CircularConstructor1.cs
│   │   │   ├── CircularConstructor2.cs
│   │   │   ├── CircularReferenceClass.cs
│   │   │   ├── CircularReferenceWithIdClass.cs
│   │   │   ├── ClassAndMemberConverterClass.cs
│   │   │   ├── ClassAttributeBase.cs
│   │   │   ├── ClassAttributeDerived.cs
│   │   │   ├── ClassConverterPrecedenceClassConverter.cs
│   │   │   ├── ClassWithArray.cs
│   │   │   ├── ClassWithException.cs
│   │   │   ├── ClassWithGuid.cs
│   │   │   ├── ClassWithImplicitOperator.cs
│   │   │   ├── ClassWithTimeSpan.cs
│   │   │   ├── ClientMap.cs
│   │   │   ├── CollectionClassAttributeDerived.cs
│   │   │   ├── CommentTestClass.cs
│   │   │   ├── CommentTestObject.cs
│   │   │   ├── CompletionDataRequest.cs
│   │   │   ├── ComplexItem.cs
│   │   │   ├── Component.cs
│   │   │   ├── Computer.cs
│   │   │   ├── ConsoleWriter.cs
│   │   │   ├── ConstantTestClass.cs
│   │   │   ├── ConstructorAndDefaultValueAttributeTestClass.cs
│   │   │   ├── ConstructorAndRequiredTestClass.cs
│   │   │   ├── ConstructorCaseSensitivityClass.cs
│   │   │   ├── ConstructorCompexIgnoredProperty.cs
│   │   │   ├── ConstructorReadonlyFields.cs
│   │   │   ├── Container.cs
│   │   │   ├── Content.cs
│   │   │   ├── ContentBaseClass.cs
│   │   │   ├── ContentSubClass.cs
│   │   │   ├── ConverableMembers.cs
│   │   │   ├── ConvertableIntTestClass.cs
│   │   │   ├── ConverterPrecedenceClass.cs
│   │   │   ├── ConverterPrecedenceClassConverter.cs
│   │   │   ├── ConvertibleId.cs
│   │   │   ├── ConvertibleInt.cs
│   │   │   ├── CustomerDataSet.cs
│   │   │   ├── CustomerWithMetadataType.cs
│   │   │   ├── DTOWithParameterisedConstructor.cs
│   │   │   ├── DTOWithoutParameterisedConstructor.cs
│   │   │   ├── DataContractJsonSerializerTestClass.cs
│   │   │   ├── DataContractPrivateMembers.cs
│   │   │   ├── DataContractSerializationAttributesClass.cs
│   │   │   ├── DateTimeErrorObjectCollection.cs
│   │   │   ├── DateTimeOffsetTestClass.cs
│   │   │   ├── DateTimeOffsetWrapper.cs
│   │   │   ├── DateTimeTestClass.cs
│   │   │   ├── DateTimeWrapper.cs
│   │   │   ├── DecimalTest.cs
│   │   │   ├── DecimalTestClass.cs
│   │   │   ├── DefaultValueAttributeTestClass.cs
│   │   │   ├── DerivedConstructorType.cs
│   │   │   ├── DerivedEvent.cs
│   │   │   ├── DerivedSerializationEventTestObject.cs
│   │   │   ├── DerivedType.cs
│   │   │   ├── DerivedWithPrivate.cs
│   │   │   ├── DeserializeStringConvert.cs
│   │   │   ├── DictionaryInterfaceClass.cs
│   │   │   ├── DictionaryKey.cs
│   │   │   ├── DictionaryKeyCast.cs
│   │   │   ├── DictionaryKeyContractResolver.cs
│   │   │   ├── DictionaryWithNoDefaultConstructor.cs
│   │   │   ├── DictionaryWithNoNull.cs
│   │   │   ├── DirectoryAccount.cs
│   │   │   ├── DoubleClass.cs
│   │   │   ├── EmployeeReference.cs
│   │   │   ├── EmptyJsonValueTestClass.cs
│   │   │   ├── EncodingReadConverter.cs
│   │   │   ├── EnumA.cs
│   │   │   ├── EnumerableArrayPropertyClass.cs
│   │   │   ├── EnumerableClass.cs
│   │   │   ├── ErroringClass.cs
│   │   │   ├── ErroringJsonConverter.cs
│   │   │   ├── ErroringTestClass.cs
│   │   │   ├── Events/
│   │   │   │   ├── Event.cs
│   │   │   │   ├── Event1.cs
│   │   │   │   └── EventType.cs
│   │   │   ├── ExistingValueClass.cs
│   │   │   ├── FaqItem.cs
│   │   │   ├── Foo.cs
│   │   │   ├── Foo1.cs
│   │   │   ├── Foo64.cs
│   │   │   ├── FooBar1.cs
│   │   │   ├── FooConstructor.cs
│   │   │   ├── FooRequired.cs
│   │   │   ├── Friend.cs
│   │   │   ├── GameObject.cs
│   │   │   ├── GenericIEnumerableWithImplicitConversion.cs
│   │   │   ├── GenericImpl.cs
│   │   │   ├── GenericListAndDictionaryInterfaceProperties.cs
│   │   │   ├── GeoCoding/
│   │   │   │   ├── AddressDetails.cs
│   │   │   │   ├── AdministrativeArea.cs
│   │   │   │   ├── Country.cs
│   │   │   │   ├── GoogleMapGeocoderStructure.cs
│   │   │   │   ├── Locality.cs
│   │   │   │   ├── Placemark.cs
│   │   │   │   ├── Point.cs
│   │   │   │   ├── PostalCode.cs
│   │   │   │   ├── Status.cs
│   │   │   │   ├── SubAdministrativeArea.cs
│   │   │   │   └── Thoroughfare.cs
│   │   │   ├── GeometricForms/
│   │   │   │   ├── Shape.cs
│   │   │   │   └── Tags.cs
│   │   │   ├── GetOnlyPropertyClass.cs
│   │   │   ├── HasByteArray.cs
│   │   │   ├── HolderClass.cs
│   │   │   ├── Human.cs
│   │   │   ├── IInterfaceObject.cs
│   │   │   ├── IKeyValueId.cs
│   │   │   ├── IMainClass.cs
│   │   │   ├── IMyInterface.cs
│   │   │   ├── IPrivateImplementationA.cs
│   │   │   ├── IPrivateImplementationB.cs
│   │   │   ├── IPrivateOverriddenImplementation.cs
│   │   │   ├── ISerializableTestObject.cs
│   │   │   ├── ISerializableWithoutAttributeTestObject.cs
│   │   │   ├── ISubclass.cs
│   │   │   ├── ISubclassBase.cs
│   │   │   ├── IdReferenceResolver.cs
│   │   │   ├── IgnoreDataMemberTestClass.cs
│   │   │   ├── IgnoredPropertiesContractResolver.cs
│   │   │   ├── IgnoredPropertiesTestClass.cs
│   │   │   ├── IgnoredProperty.cs
│   │   │   ├── ImmutableStruct.cs
│   │   │   ├── ImplementInterfaceObject.cs
│   │   │   ├── IncompatibleJsonAttributeClass.cs
│   │   │   ├── IncompleteTestClass.cs
│   │   │   ├── IntToFloatConverter.cs
│   │   │   ├── InterfacePropertyTestClass.cs
│   │   │   ├── Invoice.cs
│   │   │   ├── Item.cs
│   │   │   ├── ItemBase.cs
│   │   │   ├── ItemConverterTestClass.cs
│   │   │   ├── ItemConverterTestConverter.cs
│   │   │   ├── JRawValueTestObject.cs
│   │   │   ├── JTokenTestClass.cs
│   │   │   ├── JaggedArray.cs
│   │   │   ├── JsonIgnoreAttributeOnClassTestClass.cs
│   │   │   ├── JsonIgnoreAttributeTestClass.cs
│   │   │   ├── JsonPropertyClass.cs
│   │   │   ├── JsonPropertyConverterContractResolver.cs
│   │   │   ├── JsonPropertyConverterTestClass.cs
│   │   │   ├── JsonPropertyWithHandlingValues.cs
│   │   │   ├── JsonReaderStubWithIsClosed.cs
│   │   │   ├── JsonTextReaderTests/
│   │   │   │   ├── FakeArrayPool.cs
│   │   │   │   ├── SlowStream.cs
│   │   │   │   ├── ToggleReaderError.cs
│   │   │   │   └── UnmanagedResourceFakingJsonReader.cs
│   │   │   ├── KVPair.cs
│   │   │   ├── KeyValueId.cs
│   │   │   ├── KeyValueTestClass.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListErrorObject.cs
│   │   │   ├── ListErrorObjectCollection.cs
│   │   │   ├── ListOfIds.cs
│   │   │   ├── ListSourceTest.cs
│   │   │   ├── ListTestClass.cs
│   │   │   ├── LogEntry.cs
│   │   │   ├── LogEvent.cs
│   │   │   ├── MailAddressReadConverter.cs
│   │   │   ├── MainClass.cs
│   │   │   ├── MemberConverterClass.cs
│   │   │   ├── MemberConverterPrecedenceClassConverter.cs
│   │   │   ├── MessageWithIsoDate.cs
│   │   │   ├── MethodExecutorObject.cs
│   │   │   ├── MetroColorConverter.cs
│   │   │   ├── MetroPropertyNameResolver.cs
│   │   │   ├── MetroStringConverter.cs
│   │   │   ├── ModelStateDictionary.cs
│   │   │   ├── Money/
│   │   │   │   ├── Currency.cs
│   │   │   │   └── Tags.cs
│   │   │   ├── Movie.cs
│   │   │   ├── MovieWithJsonObjectNullValueHandlingIgnore.cs
│   │   │   ├── MovieWithJsonObjectNullValueHandlingInclude.cs
│   │   │   ├── MultiIndexBase.cs
│   │   │   ├── MultiIndexSuper.cs
│   │   │   ├── MultipleItemsClass.cs
│   │   │   ├── MultipleParametrizedConstructorsJsonConstructor.cs
│   │   │   ├── MyClass.cs
│   │   │   ├── MyEnum.cs
│   │   │   ├── MyFactory.cs
│   │   │   ├── MyInterfaceConverter.cs
│   │   │   ├── MyObservableObject.cs
│   │   │   ├── MyTuple.cs
│   │   │   ├── MyTuplePartial.cs
│   │   │   ├── Name.cs
│   │   │   ├── NameContainer.cs
│   │   │   ├── NameContainerConverter.cs
│   │   │   ├── NoConstructorReadOnlyCollection.cs
│   │   │   ├── NoConstructorReadOnlyDictionary.cs
│   │   │   ├── NonDefaultConstructorWithReadOnlyCollectionProperty.cs
│   │   │   ├── NonDefaultConstructorWithReadOnlyDictionaryProperty.cs
│   │   │   ├── NonPublicConstructorWithJsonConstructor.cs
│   │   │   ├── NonRequest.cs
│   │   │   ├── NullTestClass.cs
│   │   │   ├── NullableDateTimeTestClass.cs
│   │   │   ├── NullableFloats.cs
│   │   │   ├── NullableGuid.cs
│   │   │   ├── NullableGuidCountingJsonTextWriter.cs
│   │   │   ├── NullableLongTestClass.cs
│   │   │   ├── NullableStructPropertyClass.cs
│   │   │   ├── NullableTestClass.cs
│   │   │   ├── ObjectArrayPropertyTest.cs
│   │   │   ├── ObservableObject.cs
│   │   │   ├── OptInClass.cs
│   │   │   ├── Organization/
│   │   │   │   ├── Employee.cs
│   │   │   │   ├── IPerson.cs
│   │   │   │   ├── Manager.cs
│   │   │   │   ├── Person.cs
│   │   │   │   ├── PersonPropertyClass.cs
│   │   │   │   └── WagePerson.cs
│   │   │   ├── Pair.cs
│   │   │   ├── ParticipantEntity.cs
│   │   │   ├── PersonConverter.cs
│   │   │   ├── PersonError.cs
│   │   │   ├── PersonRaw.cs
│   │   │   ├── PersonReference.cs
│   │   │   ├── PersonSerializable.cs
│   │   │   ├── PersonWithPrivateConstructor.cs
│   │   │   ├── PhoneNumber.cs
│   │   │   ├── PocoDataContractSerializationAttributesClass.cs
│   │   │   ├── Pos.cs
│   │   │   ├── PosConverter.cs
│   │   │   ├── PosDouble.cs
│   │   │   ├── PosDoubleConverter.cs
│   │   │   ├── PreserveReferencesCallbackTestObject.cs
│   │   │   ├── PrivateConstructorTestClass.cs
│   │   │   ├── PrivateConstructorWithPublicParameterizedConstructorTestClass.cs
│   │   │   ├── PrivateImplementationAClass.cs
│   │   │   ├── PrivateImplementationBClass.cs
│   │   │   ├── PrivateMembersClass.cs
│   │   │   ├── PrivateMembersClassWithAttributes.cs
│   │   │   ├── PrivateSetterBase.cs
│   │   │   ├── PrivateSetterDerived.cs
│   │   │   ├── Product.cs
│   │   │   ├── ProductCollection.cs
│   │   │   ├── ProductShort.cs
│   │   │   ├── PropertyCase.cs
│   │   │   ├── PropertyItemConverter.cs
│   │   │   ├── PublicConstructorOverridenByJsonConstructor.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterTestClass.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterWithParameterAttributeTestClass.cs
│   │   │   ├── PublicParameterizedConstructorRequiringConverterWithPropertyAttributeTestClass.cs
│   │   │   ├── PublicParameterizedConstructorTestClass.cs
│   │   │   ├── PublicParameterizedConstructorWithNonPropertyParameterTestClass.cs
│   │   │   ├── PublicParameterizedConstructorWithPropertyNameConflict.cs
│   │   │   ├── PublicParameterizedConstructorWithPropertyNameConflictWithAttribute.cs
│   │   │   ├── Ratio.cs
│   │   │   ├── ReflectionContractResolver.cs
│   │   │   ├── RequestOnly.cs
│   │   │   ├── RequiredMembersClass.cs
│   │   │   ├── RequiredObject.cs
│   │   │   ├── RequiredPropertyConstructorTestClass.cs
│   │   │   ├── RequiredPropertyTestClass.cs
│   │   │   ├── ResponseWithNewGenericProperty.cs
│   │   │   ├── ResponseWithNewGenericPropertyOverride.cs
│   │   │   ├── ResponseWithNewGenericPropertyVirtual.cs
│   │   │   ├── RoleTransfer.cs
│   │   │   ├── RoleTransferDirection.cs
│   │   │   ├── RoleTransferOperation.cs
│   │   │   ├── RootObject.cs
│   │   │   ├── SearchResult.cs
│   │   │   ├── SelectListItem.cs
│   │   │   ├── SerializableContractResolver.cs
│   │   │   ├── SerializationEventTestDictionary.cs
│   │   │   ├── SerializationEventTestList.cs
│   │   │   ├── SerializationEventTestObject.cs
│   │   │   ├── SerializationEventTestObjectWithConstructor.cs
│   │   │   ├── SetOnlyPropertyClass.cs
│   │   │   ├── SetOnlyPropertyClass2.cs
│   │   │   ├── Shortie.cs
│   │   │   ├── SimpleResponse.cs
│   │   │   ├── SqlTypesDataSet.Designer.cs
│   │   │   ├── SqlTypesDataSet.xsc
│   │   │   ├── SqlTypesDataSet.xsd
│   │   │   ├── SqlTypesDataSet.xss
│   │   │   ├── StaticTestClass.cs
│   │   │   ├── Store.cs
│   │   │   ├── StoreColor.cs
│   │   │   ├── StringDictionaryTestClass.cs
│   │   │   ├── StructISerializable.cs
│   │   │   ├── StructTest.cs
│   │   │   ├── StructWithAttribute.cs
│   │   │   ├── SubKlass.cs
│   │   │   ├── SubWithContractNewProperties.cs
│   │   │   ├── SubWithContractVirtualProperties.cs
│   │   │   ├── SubWithoutContractNewProperties.cs
│   │   │   ├── SubWithoutContractVirtualProperties.cs
│   │   │   ├── Subclass.cs
│   │   │   ├── SuperKlass.cs
│   │   │   ├── Test.cs
│   │   │   ├── TestClass.cs
│   │   │   ├── TestClassConvertable.cs
│   │   │   ├── TestComponent.cs
│   │   │   ├── TestComponentSimple.cs
│   │   │   ├── TestObject.cs
│   │   │   ├── ThisGenericTest.cs
│   │   │   ├── TimeZoneOffsetObject.cs
│   │   │   ├── TraceWriter.cs
│   │   │   ├── TypeClass.cs
│   │   │   ├── TypeConverterJsonConverter.cs
│   │   │   ├── TypeConverterSize.cs
│   │   │   ├── TypeConverterSizeConverter.cs
│   │   │   ├── TypedSubHashtable.cs
│   │   │   ├── UriGuidTimeSpanTestClass.cs
│   │   │   ├── UserNullable.cs
│   │   │   ├── Vector.cs
│   │   │   ├── VectorParent.cs
│   │   │   ├── VersionKeyedCollection.cs
│   │   │   ├── VersionOld.cs
│   │   │   ├── VirtualOverrideNewBaseObject.cs
│   │   │   ├── VirtualOverrideNewChildObject.cs
│   │   │   ├── VirtualOverrideNewChildWithDifferentOverrideObject.cs
│   │   │   ├── Widget.cs
│   │   │   ├── Widget1.cs
│   │   │   ├── WidgetId.cs
│   │   │   ├── WidgetId1.cs
│   │   │   ├── WidgetIdJsonConverter.cs
│   │   │   ├── WithEnums.cs
│   │   │   ├── XNodeTestObject.cs
│   │   │   └── XmlNodeTestObject.cs
│   │   ├── Utilities/
│   │   │   ├── ConvertUtilsTests.cs
│   │   │   ├── DateTimeUtilsTests.cs
│   │   │   ├── DynamicReflectionDelegateFactoryTests.cs
│   │   │   ├── EnumUtilsTests.cs
│   │   │   ├── ExpressionReflectionDelegateFactoryTests.cs
│   │   │   ├── LateboundReflectionDelegateFactoryTests.cs
│   │   │   ├── ReflectionUtilsTests.cs
│   │   │   └── StringUtilsTests.cs
│   │   ├── large.json
│   │   └── large_sample.xml
│   ├── Newtonsoft.Json.slnx
│   ├── NuGet.Config
│   └── global.json
└── azure-pipelines.yml
Download .txt
Showing preview only (764K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9030 symbols across 939 files)

FILE: Src/Newtonsoft.Json.FuzzTests/FuzzTests.cs
  class Fuzzers (line 6) | public static class Fuzzers
    method FuzzDeserialization (line 10) | public static void FuzzDeserialization(ReadOnlySpan<byte> buffer)
    method FuzzSerialization (line 28) | public static void FuzzSerialization(ReadOnlySpan<byte> buffer)
    method FuzzIdempotent (line 44) | public static void FuzzIdempotent(ReadOnlySpan<byte> buffer)
    method Serialize (line 63) | private static string Serialize(object? o)
    method Deserialize (line 70) | private static object? Deserialize(string input)
    method Deserialize (line 77) | private static object? Deserialize(ReadOnlySpan<byte> bytes)

FILE: Src/Newtonsoft.Json.TestConsole/Program.cs
  class Program (line 35) | public class Program
    method Main (line 37) | public static void Main(string[] args)

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/BenchmarkConstants.cs
  class BenchmarkConstants (line 30) | public static class BenchmarkConstants

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/DeserializeBenchmarks.cs
  class DeserializeBenchmarks (line 41) | public class DeserializeBenchmarks
    method DeserializeBenchmarks (line 46) | static DeserializeBenchmarks()
    method DeserializeLargeJsonText (line 53) | [Benchmark]
    method DeserializeLargeJsonFile (line 59) | [Benchmark]
    method DeserializeDoubleList (line 70) | [Benchmark]
    method DeserializeDecimalList (line 76) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/DeserializeComparisonBenchmarks.cs
  class DeserializeComparisonBenchmarks (line 47) | public class DeserializeComparisonBenchmarks
    method DataContractSerializer (line 52) | [Benchmark]
    method DeserializeDataContract (line 58) | private T DeserializeDataContract<T>(string xml)
    method DeserializeDataContractJson (line 66) | private T DeserializeDataContractJson<T>(string json)
    method BinaryFormatter (line 75) | [Benchmark]
    method DeserializeBinaryFormatter (line 81) | private T DeserializeBinaryFormatter<T>(byte[] bytes)
    method JavaScriptSerializer (line 87) | [Benchmark]
    method DeserializeWebExtensions (line 93) | public T DeserializeWebExtensions<T>(string json)
    method DataContractJsonSerializer (line 101) | [Benchmark]
    method JsonNet (line 107) | [Benchmark]
    method JsonNetIso (line 113) | [Benchmark]
    method JsonNetManual (line 119) | [Benchmark]
    method DeserializeJsonNetManual (line 126) | private TestClass DeserializeJsonNetManual(string json)
    method CreateAddress (line 186) | private static Address CreateAddress(JsonTextReader reader)
    method JsonNetManualAsync (line 215) | [Benchmark]
    method JsonNetManualIndentedAsync (line 221) | [Benchmark]
    method DeserializeJsonNetManualAsync (line 227) | private async Task<TestClass> DeserializeJsonNetManualAsync(string json)
    method CreateAddressAsync (line 287) | private static async Task<Address> CreateAddressAsync(JsonTextReader r...
    method JsonNetBson (line 316) | [Benchmark]
    method DeserializeJsonNetBson (line 322) | private T DeserializeJsonNetBson<T>(byte[] bson)

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/JTokenBenchmarks.cs
  class JTokenBenchmarks (line 39) | public class JTokenBenchmarks
    method JTokenBenchmarks (line 45) | static JTokenBenchmarks()
    method TokenWriteTo (line 57) | [Benchmark]
    method TokenWriteToAsync (line 64) | [Benchmark]
    method JObjectParse (line 71) | [Benchmark]
    method JArrayNestedParse (line 77) | [Benchmark]
    method JArrayNestedBuild (line 83) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/JValueConvertBenchmarks.cs
  class JValueConvertBenchmarks (line 38) | public class JValueConvertBenchmarks
    method JTokenToObjectFast (line 42) | [Benchmark]
    method JTokenToObjectWithSerializer (line 48) | [Benchmark]
    method JTokenToObjectConvert (line 54) | [Benchmark]
    method JTokenToObjectCast (line 60) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/JsonTextReaderBenchmarks.cs
  class JsonTextReaderBenchmarks (line 36) | public class JsonTextReaderBenchmarks
    method JsonTextReaderBenchmarks (line 40) | static JsonTextReaderBenchmarks()
    method ReadLargeJson (line 45) | [Benchmark]
    method ReadAsDecimal (line 57) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/JsonTextWriterBenchmarks.cs
  class JsonTextWriterBenchmarks (line 34) | public class JsonTextWriterBenchmarks
    method SerializeUnicodeChars (line 38) | [Benchmark]
    method SerializeIntegers (line 49) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/LargeJArrayBenchmarks.cs
  class LargeJArrayBenchmarks (line 39) | public class LargeJArrayBenchmarks
    method SetupData (line 43) | [GlobalSetup]
    method JTokenPathFirstItem (line 53) | [Benchmark]
    method JTokenPathLastItem (line 61) | [Benchmark]
    method AddPerformance (line 69) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/LowLevelBenchmarks.cs
  class LowLevelBenchmarks (line 48) | public class LowLevelBenchmarks
    method LowLevelBenchmarks (line 57) | static LowLevelBenchmarks()
    method DictionaryGet (line 69) | [Benchmark]
    method ConcurrentDictionaryGet (line 75) | [Benchmark]
    method ConcurrentDictionaryGetOrCreate (line 81) | [Benchmark]
    method Dummy (line 87) | private object Dummy(string arg)
    method DecimalTryParseString (line 92) | [Benchmark]
    method GetMemberWithMemberTypeAndBindingFlags (line 99) | [Benchmark]
    method GetPropertyGetField (line 105) | [Benchmark]
    method DecimalTryParseChars (line 112) | [Benchmark]
    method WriteEscapedJavaScriptString (line 119) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/Runner.cs
  class Runner (line 46) | [TestFixture]
    method RunBenchmarks (line 50) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/SerializeBenchmarks.cs
  class SerializeBenchmarks (line 42) | public class SerializeBenchmarks
    method SerializeBenchmarks (line 46) | static SerializeBenchmarks()
    method SerializeLargeJsonFile (line 53) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/SerializeComparisonBenchmarks.cs
  class SerializeComparisonBenchmarks (line 47) | public class SerializeComparisonBenchmarks
    method CreateSerializationObject (line 51) | private static TestClass CreateSerializationObject()
    method DataContractSerializer (line 77) | [Benchmark]
    method SerializeDataContract (line 83) | private string SerializeDataContract(object value)
    method BinaryFormatter (line 99) | [Benchmark]
    method SerializeBinaryFormatter (line 105) | private byte[] SerializeBinaryFormatter(object value)
    method JavaScriptSerializer (line 114) | [Benchmark]
    method SerializeWebExtensions (line 120) | private string SerializeWebExtensions(object value)
    method DataContractJsonSerializer (line 128) | [Benchmark]
    method SerializeDataContractJson (line 134) | public string SerializeDataContractJson(object value)
    method JsonNet (line 149) | [Benchmark]
    method JsonNetLinq (line 155) | [Benchmark]
    method SerializeJsonNetLinq (line 162) | private string SerializeJsonNetLinq(TestClass c)
    method JsonNetManual (line 185) | [Benchmark]
    method SerializeJsonNetManual (line 192) | private string SerializeJsonNetManual(TestClass c)
    method JsonNetManualAsync (line 248) | [Benchmark]
    method JsonNetManualIndentedAsync (line 254) | [Benchmark]
    method SerializeJsonNetManualAsync (line 260) | private async Task<string> SerializeJsonNetManualAsync(TestClass c, Fo...
    method JsonNetBson (line 318) | [Benchmark]
    method SerializeJsonNetBson (line 326) | private byte[] SerializeJsonNetBson(TestClass c)

FILE: Src/Newtonsoft.Json.Tests/Benchmarks/XmlNodeConverterBenchmarks.cs
  class XmlNodeConverterBenchmarks (line 41) | public class XmlNodeConverterBenchmarks
    method ConvertXmlNode (line 43) | [Benchmark]
    method ConvertXNode (line 55) | [Benchmark]

FILE: Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs
  class BsonReaderAsyncTests (line 46) | [TestFixture]
    method ReadSingleObjectAsync (line 51) | [Test]
    method ReadGuid_TextAsync (line 78) | [Test]
    method ReadGuid_BytesAsync (line 112) | [Test]
    method ReadDoubleAsync (line 148) | [Test]
    method ReadDouble_DecimalAsync (line 172) | [Test]
    method ReadValuesAsync (line 197) | [Test]
    method ReadObjectBsonFromSiteAsync (line 287) | [Test]
    method ReadArrayBsonFromSiteAsync (line 335) | [Test]
    method ReadAsInt32BadStringAsync (line 377) | [Test]
    method ReadBytesAsync (line 403) | [Test]
    method ReadOidAsync (line 444) | [Test]
    method ReadNestedArrayAsync (line 480) | [Test]
    method ReadRegexAsync (line 539) | [Test]
    method ReadCodeAsync (line 568) | [Test]
    method ReadUndefinedAsync (line 597) | [Test]
    method ReadLongAsync (line 626) | [Test]
    method ReadReferenceAsync (line 655) | [Test]
    method ReadCodeWScopeAsync (line 702) | [Test]
    method ReadEndOfStreamAsync (line 758) | [Test]
    method ReadLargeStringsAsync (line 765) | [Test]
    method ReadEmptyStringsAsync (line 803) | [Test]
    method WriteAndReadEmptyListsAndDictionariesAsync (line 828) | [Test]
    method UnspecifiedDateTimeKindHandlingAsync (line 879) | [Test]
    method LocalDateTimeKindHandlingAsync (line 900) | [Test]
    method WriteAndReadStringValueAsync (line 920) | private async Task<string> WriteAndReadStringValueAsync(string val)
    method WriteAndReadStringPropertyNameAsync (line 941) | private async Task<string> WriteAndReadStringPropertyNameAsync(string ...
    method TestReadLenStringValueShortTripleByteAsync (line 960) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry0Async (line 973) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry1Async (line 986) | [Test]
    method TestReadLenStringValueTripleByteCharOneAsync (line 1000) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry2Async (line 1010) | [Test]
    method TestReadStringValueAsync (line 1023) | [Test]
    method TestReadStringValueLongAsync (line 1030) | [Test]
    method TestReadStringPropertyNameShortTripleByteAsync (line 1039) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry0Async (line 1052) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry1Async (line 1066) | [Test]
    method TestReadStringPropertyNameTripleByteCharOneAsync (line 1079) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry2Async (line 1089) | [Test]
    method TestReadStringPropertyNameAsync (line 1102) | [Test]
    method TestReadStringPropertyNameLongAsync (line 1109) | [Test]
    method ReadRegexWithOptionsAsync (line 1118) | [Test]
    method CanRoundTripStackOverflowDataAsync (line 1154) | [Test]
    method MultibyteCharacterPropertyNamesAndStringsAsync (line 1201) | [Test]
    method GuidsShouldBeProperlyDeserialisedAsync (line 1231) | [Test]
    method GuidsShouldBeProperlyDeserialised_AsBytesAsync (line 1265) | [Test]
    method GuidsShouldBeProperlyDeserialised_AsBytes_ReadAheadAsync (line 1297) | [Test]
    class BytesTestClass (line 1330) | public class BytesTestClass
    class ObjectTestClass (line 1335) | public class ObjectTestClass

FILE: Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs
  class BsonReaderTests (line 54) | [TestFixture]
    method DeserializeLargeBsonObject (line 59) | [Test]
    class MyTest (line 72) | public class MyTest
    method Bson_SupportMultipleContent (line 79) | [Test]
    method CloseInput (line 119) | [Test]
    method ReadSingleObject (line 137) | [Test]
    method ReadGuid_Text (line 164) | [Test]
    method ReadGuid_Bytes (line 198) | [Test]
    method ReadDouble (line 234) | [Test]
    method ReadDouble_Decimal (line 258) | [Test]
    method ReadValues (line 283) | [Test]
    method ReadObjectBsonFromSite (line 373) | [Test]
    method ReadArrayBsonFromSite (line 421) | [Test]
    method ReadAsInt32BadString (line 463) | [Test]
    method ReadBytes (line 489) | [Test]
    method ReadOid (line 530) | [Test]
    method ReadNestedArray (line 566) | [Test]
    method ReadNestedArrayIntoLinq (line 625) | [Test]
    method OidAndBytesAreEqual (line 647) | [Test]
    method ReadRegex (line 671) | [Test]
    method ReadCode (line 700) | [Test]
    method ReadUndefined (line 729) | [Test]
    method ReadLong (line 758) | [Test]
    method ReadReference (line 787) | [Test]
    method ReadCodeWScope (line 834) | [Test]
    method ReadEndOfStream (line 890) | [Test]
    method ReadLargeStrings (line 897) | [Test]
    method ReadEmptyStrings (line 935) | [Test]
    method WriteAndReadEmptyListsAndDictionaries (line 960) | [Test]
    method DateTimeKindHandling (line 1011) | [Test]
    method UnspecifiedDateTimeKindHandling (line 1042) | [Test]
    method LocalDateTimeKindHandling (line 1066) | [Test]
    method WriteAndReadStringValue (line 1089) | private string WriteAndReadStringValue(string val)
    method WriteAndReadStringPropertyName (line 1110) | private string WriteAndReadStringPropertyName(string val)
    method TestReadLenStringValueShortTripleByte (line 1129) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry0 (line 1142) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry1 (line 1155) | [Test]
    method TestReadLenStringValueTripleByteCharOne (line 1169) | [Test]
    method TestReadLenStringValueTripleByteCharBufferBoundry2 (line 1179) | [Test]
    method TestReadStringValue (line 1192) | [Test]
    method TestReadStringValueLong (line 1199) | [Test]
    method TestReadStringPropertyNameShortTripleByte (line 1208) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry0 (line 1221) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry1 (line 1235) | [Test]
    method TestReadStringPropertyNameTripleByteCharOne (line 1248) | [Test]
    method TestReadStringPropertyNameTripleByteCharBufferBoundry2 (line 1258) | [Test]
    method TestReadStringPropertyName (line 1271) | [Test]
    method TestReadStringPropertyNameLong (line 1278) | [Test]
    method ReadRegexWithOptions (line 1287) | [Test]
    method CanRoundTripStackOverflowData (line 1323) | [Test]
    method MultibyteCharacterPropertyNamesAndStrings (line 1370) | [Test]
    method UriGuidTimeSpanTestClassEmptyTest (line 1400) | [Test]
    method UriGuidTimeSpanTestClassValuesTest (line 1422) | [Test]
    method DeserializeByteArrayWithTypeNameHandling (line 1451) | [Test]
    method Utf8Text (line 1480) | [Test]
    class BigIntegerTestClass (line 1499) | public class BigIntegerTestClass
    method WriteBigInteger (line 1504) | [Test]
    class RegexTestClass (line 1522) | public class RegexTestClass
    method DeserializeRegexNonConverterBson (line 1527) | [Test]
    method DeserializeRegexBson (line 1544) | [Test]
    class Zoo (line 1561) | class Zoo
    class Animal (line 1566) | class Animal
      method Animal (line 1568) | public Animal(string name)
    class Dog (line 1576) | class Dog : Animal
      method Dog (line 1578) | public Dog(string name)
    class Cat (line 1584) | class Cat : Animal
      method Cat (line 1586) | public Cat(string name)
    class MyBinder (line 1592) | public class MyBinder : DefaultSerializationBinder
      method BindToName (line 1599) | public override void BindToName(Type serializedType, out string asse...
      method BindToType (line 1606) | public override Type BindToType(string assemblyName, string typeName)
    method TypeNameHandlingAuto (line 1613) | [Test]
    method GuidsShouldBeProperlyDeserialised (line 1652) | [Test]
    method GuidsShouldBeProperlyDeserialised_AsBytes (line 1686) | [Test]
    method GuidsShouldBeProperlyDeserialised_AsBytes_ReadAhead (line 1718) | [Test]
    method DeserializeBsonDocumentWithString (line 1751) | [Test]
    method DeserializeBsonDocumentWithGuid (line 1761) | [Test]
    class BytesTestClass (line 1771) | public class BytesTestClass
    class ObjectTestClass (line 1776) | public class ObjectTestClass

FILE: Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs
  class BsonWriterAsyncTests (line 47) | [TestFixture]
    method CloseOutputAsync (line 50) | [Test]
    method WriteSingleObjectAsync (line 68) | [Test]
    method WriteValuesAsync (line 83) | [Test]
    method WriteDoubleAsync (line 110) | [Test]
    method WriteGuidAsync (line 124) | [Test]
    method WriteArrayBsonFromSiteAsync (line 140) | [Test]
    method WriteBytesAsync (line 161) | [Test]
    method WriteNestedArrayAsync (line 193) | [Test]
    method WriteLargeStringsAsync (line 230) | [Test]
    method WriteEmptyStringsAsync (line 257) | [Test]
    method WriteCommentAsync (line 272) | [Test]
    method WriteConstructorAsync (line 285) | [Test]
    method WriteRawAsync (line 298) | [Test]
    method WriteRawValueAsync (line 311) | [Test]
    method WriteOidAsync (line 324) | [Test]
    method WriteOidPlusContentAsync (line 357) | [Test]
    method WriteRegexPlusContentAsync (line 375) | [Test]
    method WriteReadEmptyAndNullStringsAsync (line 393) | [Test]
    method WriteDateTimesAsync (line 431) | [Test]
    method WriteValueOutsideOfObjectOrArrayAsync (line 471) | [Test]
    method DateTimeZoneHandlingAsync (line 486) | [Test]
    method WriteBigIntegerAsync (line 503) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs
  class BsonWriterTests (line 57) | [TestFixture]
    method CloseOutput (line 60) | [Test]
    method WriteSingleObject (line 78) | [Test]
    method WriteValues (line 94) | [Test]
    method WriteDouble (line 122) | [Test]
    method WriteGuid (line 136) | [Test]
    method WriteArrayBsonFromSite (line 152) | [Test]
    method WriteBytes (line 173) | [Test]
    method WriteNestedArray (line 205) | [Test]
    method WriteSerializedStore (line 242) | [Test]
    method WriteLargeStrings (line 292) | [Test]
    method SerializeGoogleGeoCode (line 319) | [Test]
    method WriteEmptyStrings (line 394) | [Test]
    method WriteComment (line 409) | [Test]
    method WriteConstructor (line 422) | [Test]
    method WriteRaw (line 435) | [Test]
    method WriteRawValue (line 448) | [Test]
    method Example (line 461) | [Test]
    method WriteOid (line 500) | [Test]
    method WriteOidPlusContent (line 533) | [Test]
    method WriteRegexPlusContent (line 551) | [Test]
    method SerializeEmptyAndNullStrings (line 569) | [Test]
    method WriteReadEmptyAndNullStrings (line 599) | [Test]
    method WriteDateTimes (line 637) | [Test]
    method WriteValueOutsideOfObjectOrArray (line 677) | [Test]
    method DateTimeZoneHandling (line 692) | [Test]
    class RegexTestClass (line 708) | public class RegexTestClass
    method SerializeDeserializeRegex (line 713) | [Test]
    method SerializeByteArray_ErrorWhenTopLevel (line 736) | [Test]
    class GuidTestClass (line 749) | public class GuidTestClass
    class StringTestClass (line 754) | public class StringTestClass
    method WriteReadGuid (line 759) | [Test]
    method WriteStringReadGuid (line 780) | [Test]
    method WriteBigInteger (line 802) | [Test]
    method WriteUri (line 837) | [Test]
    method WriteByteArray (line 862) | [Test]
    method WriteEndOnProperty (line 887) | [Test]
    method WriteEndOnProperty_Close (line 900) | [Test]
    method WriteEndOnProperty_Dispose (line 913) | [Test]
    method AutoCompleteOnClose_False (line 926) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs
  class BinaryConverterTests (line 47) | [TestFixture]
    class ByteArrayClass (line 52) | public class ByteArrayClass
    method DeserializeBinaryClass (line 59) | [Test]
    method DeserializeBinaryClassFromJsonArray (line 73) | [Test]
    class BinaryClass (line 87) | public class BinaryClass
    method SerializeBinaryClass (line 93) | [Test]
    method SerializeByteArrayClass (line 109) | [Test]
    class SqlBinaryClass (line 125) | public class SqlBinaryClass
    method SerializeSqlBinaryClass (line 132) | [Test]
    method DeserializeSqlBinaryClass (line 149) | [Test]
    method DeserializeByteArrayClass (line 166) | [Test]
    method DeserializeByteArrayFromJsonArray (line 180) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/CustomCreationConverterTests.cs
  class CustomCreationConverterTests (line 42) | [TestFixture]
    method DeserializeObject (line 45) | [Test]
    class MyClass (line 98) | public class MyClass
    type IThing (line 106) | public interface IThing
    class MyThing (line 111) | public class MyThing : IThing
    class MyThingConverter (line 116) | public class MyThingConverter : CustomCreationConverter<IThing>
      method Create (line 118) | public override IThing Create(Type objectType)
    method AssertDoesDeserialize (line 124) | [Test]
    method AssertShouldSerializeTest (line 141) | [Test]
    type IRange (line 155) | internal interface IRange<T>
    class Range (line 161) | internal class Range<T> : IRange<T>
    class NullInterfaceTestClass (line 167) | internal class NullInterfaceTestClass
    class DecimalRangeConverter (line 177) | internal class DecimalRangeConverter : CustomCreationConverter<IRange<...
      method Create (line 179) | public override IRange<decimal> Create(Type objectType)
    class IntRangeConverter (line 185) | internal class IntRangeConverter : CustomCreationConverter<IRange<int>>
      method Create (line 187) | public override IRange<int> Create(Type objectType)
    method DeserializeAndConvertNullValue (line 193) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs
  class DataSetConverterTests (line 43) | public class DataSetConverterTests : TestFixtureBase
    method DeserializeInvalidDataTable (line 45) | [Test]
    method SerializeAndDeserialize (line 55) | [Test]
    class DataSetTestClass (line 110) | public class DataSetTestClass
    method WriteJsonNull (line 115) | [Test]
    method SerializeNull (line 127) | [Test]
    method SerializeNullRoot (line 146) | [Test]
    method DeserializeNullTable (line 157) | [Test]
    method SerializeMultiTableDataSet (line 169) | [Test]
    method DeserializeMultiTableDataSet (line 244) | [Test]
    method CreateDataTable (line 295) | private DataTable CreateDataTable(string dataTableName, int rows)
    class DataSetAndTableTestClass (line 342) | public class DataSetAndTableTestClass
    method SerializeWithCamelCaseResolver (line 351) | [Test]
    method SerializeDataSetProperty (line 395) | [Test]
    method SerializedTypedDataSet (line 476) | [Test]
    method DeserializedTypedDataSet (line 510) | [Test]
    method ContractResolverInsideConverter (line 526) | [Test]
    method CreateDataTable (line 563) | private static DataTable CreateDataTable(int cols, string colNamePrefix)
    class DataTableWrapper (line 574) | public class DataTableWrapper
    class MultipleDataTablesJsonTest (line 581) | public class MultipleDataTablesJsonTest
    class LowercaseDataTableConverter (line 587) | public class LowercaseDataTableConverter : DataTableConverter
      method WriteJson (line 589) | public override void WriteJson(JsonWriter writer, object value, Json...
    class LowercaseContractResolver (line 597) | public class LowercaseContractResolver : DefaultContractResolver
      method ResolvePropertyName (line 599) | protected override string ResolvePropertyName(string propertyName)

FILE: Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs
  class DataTableConverterTests (line 51) | public class DataTableConverterTests : TestFixtureBase
    method DeserializeEmptyNestedArray (line 53) | [Test]
    method SerializeNullValues (line 71) | [Test]
    method SerializeValues (line 115) | [Test]
    method WriteJsonNull (line 166) | [Test]
    method Deserialize (line 178) | [Test]
    method DeserializeParseHandling (line 244) | [Test]
    method Serialize (line 284) | [Test]
    class TestDataTableConverter (line 373) | public class TestDataTableConverter : JsonConverter
      method WriteJson (line 375) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 381) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 389) | public override bool CanConvert(Type objectType)
    method PassedInJsonConverterOverridesInternalConverter (line 395) | [Test]
    method RoundtripBsonBytes (line 408) | [Test]
    method SerializeDataTableWithNull (line 450) | [Test]
    method SerializeDataTableWithNullAndIgnoreNullHandling (line 467) | [Test]
    method DerializeDataTableWithImplicitNull (line 487) | [Test]
    method DerializeDataTableWithExplicitNull (line 503) | [Test]
    method SerializeKeyValuePairWithDataTableKey (line 519) | [Test]
    method SerializedTypedDataTable (line 555) | [Test]
    method DeserializedTypedDataTable (line 570) | [Test]
    class DataTableTestClass (line 584) | public class DataTableTestClass
    method SerializeNull (line 589) | [Test]
    method SerializeNullRoot (line 608) | [Test]
    method DeserializedTypedDataTableWithConverter (line 620) | [Test]
    class SqlDateTimeConverter (line 644) | internal class SqlDateTimeConverter : JsonConverter
      method CanConvert (line 646) | public override bool CanConvert(Type objectType)
      method ReadJson (line 651) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 663) | public override void WriteJson(JsonWriter writer, object value, Json...
    method HandleColumnOnError (line 677) | [Test]
    class CustomDataTable (line 686) | [JsonConverter(typeof(DataTableConverterTest))]
    class DataTableConverterTest (line 691) | public class DataTableConverterTest : DataTableConverter
      method CreateTable (line 693) | protected DataTable CreateTable()
      method ReadJson (line 700) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method OnError (line 718) | private void OnError(object sender, Json.Serialization.ErrorEventArg...

FILE: Src/Newtonsoft.Json.Tests/Converters/DiscriminatedUnionConverterTests.cs
  class DiscriminatedUnionConverterTests (line 49) | [TestFixture]
    class DoubleDoubleConverter (line 52) | public class DoubleDoubleConverter : JsonConverter
      method WriteJson (line 54) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 61) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 68) | public override bool CanConvert(Type objectType)
    method SerializeUnionWithConverter (line 74) | [Test]
    method SerializeBasicUnion (line 90) | [Test]
    method SerializePerformance (line 98) | [Test]
    method DeserializePerformance (line 122) | [Test]
    method SerializeUnionWithFields (line 148) | [Test]
    method DeserializeBasicUnion (line 156) | [Test]
    method DeserializeUnionWithFields (line 169) | [Test]
    class Union (line 181) | public class Union
    class UnionCase (line 187) | public class UnionCase
    method CreateUnion (line 196) | private Union CreateUnion(Type t)
    method Serialize (line 220) | [Test]
    method Deserialize (line 237) | [Test]
    method DeserializeBasicUnion_NoMatch (line 254) | [Test]
    method DeserializeBasicUnion_MismatchedFieldCount (line 260) | [Test]
    method DeserializeBasicUnion_NoCaseName (line 266) | [Test]
    method DeserializeBasicUnion_UnexpectedEnd (line 272) | [Test]
    method DeserializeBasicUnion_FieldsObject (line 278) | [Test]
    method DeserializeBasicUnion_UnexpectedProperty (line 284) | [Test]
    method SerializeUnionWithTypeNameHandlingAndReferenceTracking (line 290) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/ExpandoObjectConverterTests.cs
  class ExpandoObjectConverterTests (line 44) | [TestFixture]
    class ExpandoContainer (line 47) | public class ExpandoContainer
    method SerializeExpandoObject (line 54) | [Test]
    method SerializeNullExpandoObject (line 96) | [Test]
    method DeserializeExpandoObject (line 110) | [Test]
    method DeserializeNullExpandoObject (line 166) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/GenericJsonConverterTests.cs
  class GenericJsonConverterTests (line 48) | [TestFixture]
    class TestGenericConverter (line 51) | public class TestGenericConverter : JsonConverter<string>
      method WriteJson (line 53) | public override void WriteJson(JsonWriter writer, string value, Json...
      method ReadJson (line 58) | public override string ReadJson(JsonReader reader, Type objectType, ...
    method WriteJsonObject (line 64) | [Test]
    method WriteJsonGeneric (line 76) | [Test]
    method WriteJsonBadType (line 88) | [Test]
    method ReadJsonGenericExistingValueNull (line 102) | [Test]
    method ReadJsonGenericExistingValueString (line 115) | [Test]
    method ReadJsonObjectExistingValueNull (line 128) | [Test]
    method ReadJsonObjectExistingValueWrongType (line 141) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/IsoDateTimeConverterTests.cs
  class IsoDateTimeConverterTests (line 42) | [TestFixture]
    method PropertiesShouldBeSet (line 45) | [Test]
    method GetUtcOffsetText (line 65) | public static string GetUtcOffsetText(DateTime d)
    method SerializeDateTime (line 72) | [Test]
    method SerializeFormattedDateTimeInvariantCulture (line 90) | [Test]
    method SerializeCustomFormattedDateTime (line 108) | [Test]
    method SerializeFormattedDateTimeNewZealandCulture (line 127) | [Test]
    method SerializeDateTimeCulture (line 149) | [Test]
    method SerializeDateTimeOffset (line 165) | [Test]
    method SerializeUTC (line 179) | [Test]
    method NullableSerializeUTC (line 199) | [Test]
    method NullableDeserializeEmptyString (line 219) | [Test]
    method DeserializeNullToNonNullable (line 229) | [Test]
    method SerializeShouldChangeNonUTCDates (line 239) | [Test]
    method BlogCodeSample (line 266) | [Test]
    method DeserializeDateTimeOffset (line 287) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/JavaScriptDateTimeConverterTests.cs
  class JavaScriptDateTimeConverterTests (line 41) | [TestFixture]
    method SerializeDateTime (line 44) | [Test]
    method SerializeDateTimeOffset (line 57) | [Test]
    method SerializeNullableDateTimeClass (line 69) | [Test]
    method DeserializeNullToNonNullable (line 95) | [Test]
    method DeserializeDateTimeOffset (line 105) | [Test]
    method DeserializeDateTime (line 118) | [Test]
    method DeserializeDateTime_MultipleArguments (line 127) | [Test]
    method DeserializeDateTime_TooManyArguments (line 156) | [Test]
    method DeserializeDateTime_NoArguments (line 167) | [Test]
    method DeserializeDateTime_NotArgumentsNotClosed (line 178) | [Test]
    method DeserializeDateTime_NotClosed (line 189) | [Test]
    method ConverterList (line 200) | [Test]
    method ConverterDictionary (line 224) | [Test]
    method ConverterObject (line 248) | [Test]
  class ConverterList (line 273) | [JsonArray(ItemConverterType = typeof(JavaScriptDateTimeConverter))]
  class ConverterDictionary (line 278) | [JsonDictionary(ItemConverterType = typeof(JavaScriptDateTimeConverter))]
  class ConverterObject (line 283) | [JsonObject(ItemConverterType = typeof(JavaScriptDateTimeConverter))]
  class DateIntConverter (line 293) | public class DateIntConverter : JsonConverter
    method WriteJson (line 295) | public override void WriteJson(JsonWriter writer, object value, JsonSe...
    method ReadJson (line 308) | public override object ReadJson(JsonReader reader, Type objectType, ob...
    method CanConvert (line 313) | public override bool CanConvert(Type objectType)

FILE: Src/Newtonsoft.Json.Tests/Converters/KeyValuePairConverterTests.cs
  class KeyValuePairConverterTests (line 17) | [TestFixture]
    method SerializeUsingInternalConverter (line 20) | [Test]
    method DeserializeUnexpectedEnd (line 56) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/ObjectIdConverterTests.cs
  class ObjectIdConverterTests (line 41) | [TestFixture]
    class ObjectIdTestClass (line 44) | public class ObjectIdTestClass
    method Serialize (line 53) | [Test]
    method Deserialize (line 74) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/RegexConverterTests.cs
  class RegexConverterTests (line 45) | [TestFixture]
    class RegexTestClass (line 48) | public class RegexTestClass
    method WriteJsonNull (line 53) | [Test]
    method SerializeToText (line 65) | [Test]
    method SerializeCamelCaseAndStringEnums (line 78) | [Test]
    method DeserializeCamelCaseAndStringEnums (line 97) | [Test]
    method DeserializeISerializeRegexJson (line 114) | [Test]
    method DeserializeStringRegex (line 131) | [Test]
    method DeserializeStringRegex_NoStartSlash_Error (line 147) | [Test]
    method DeserializeStringRegex_NoEndSlash_Error (line 162) | [Test]
    method DeserializeStringRegex_NoStartAndEndSlashes_Error (line 177) | [Test]
    method SerializeToBson (line 193) | [Test]
    method DeserializeFromBson (line 211) | [Test]
    method ConvertEmptyRegexBson (line 225) | [Test]
    method ConvertRegexWithAllOptionsBson (line 247) | [Test]
    method DeserializeFromText (line 277) | [Test]
    method ConvertEmptyRegexJson (line 290) | [Test]
    class SimpleClassWithRegex (line 309) | public class SimpleClassWithRegex
    method DeserializeNullRegex (line 314) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/StringEnumConverterTests.cs
  class StringEnumConverterTests (line 44) | [TestFixture]
    class EnumClass (line 47) | public class EnumClass
    class EnumContainer (line 54) | public class EnumContainer<T>
    type FlagsTestEnum (line 59) | [Flags]
    type NegativeEnum (line 67) | public enum NegativeEnum
    type NegativeFlagsEnum (line 74) | [Flags]
    type NamedEnum (line 87) | public enum NamedEnum
    type NamedEnumDuplicate (line 97) | public enum NamedEnumDuplicate
    type NamedEnumWithComma (line 107) | public enum NamedEnumWithComma
    class NegativeEnumClass (line 123) | public class NegativeEnumClass
    class NegativeFlagsEnumClass (line 129) | public class NegativeFlagsEnumClass
    type CamelCaseEnumObsolete (line 135) | [JsonConverter(typeof(StringEnumConverter), true)]
    type CamelCaseEnumNew (line 143) | [JsonConverter(typeof(StringEnumConverter), typeof(CamelCaseNamingStra...
    type SnakeCaseEnumNew (line 151) | [JsonConverter(typeof(StringEnumConverter), typeof(SnakeCaseNamingStra...
    type NotAllowIntegerValuesEnum (line 159) | [JsonConverter(typeof(StringEnumConverter), typeof(CamelCaseNamingStra...
    type AllowIntegerValuesEnum (line 166) | [JsonConverter(typeof(StringEnumConverter), typeof(CamelCaseNamingStra...
    type NullArgumentInAttribute (line 173) | [JsonConverter(typeof(StringEnumConverter), typeof(CamelCaseNamingStra...
    method Serialize_CamelCaseFromAttribute_Obsolete (line 180) | [Test]
    method NamingStrategyAndCamelCaseText (line 187) | [Test]
    method StringEnumConverter_CamelCaseTextCtor (line 227) | [Test]
    method StringEnumConverter_NamingStrategyTypeCtor (line 239) | [Test]
    method StringEnumConverter_NamingStrategyTypeCtor_Null (line 252) | [Test]
    method StringEnumConverter_NamingStrategyTypeWithArgsCtor_Null (line 261) | [Test]
    method Deserialize_CamelCaseFromAttribute_Obsolete (line 270) | [Test]
    method Serialize_CamelCaseFromAttribute (line 277) | [Test]
    method Deserialize_CamelCaseFromAttribute (line 284) | [Test]
    method Serialize_SnakeCaseFromAttribute (line 291) | [Test]
    method Deserialize_SnakeCaseFromAttribute (line 298) | [Test]
    method Deserialize_NotAllowIntegerValuesFromAttribute (line 305) | [Test]
    method CannotPassNullArgumentToConverter (line 314) | [Test]
    method Deserialize_AllowIntegerValuesAttribute (line 325) | [Test]
    method NamedEnumDuplicateTest (line 333) | [Test]
    method SerializeNameEnumTest (line 347) | [Test]
    method NamedEnumCommaTest (line 371) | [Test]
    method NamedEnumCommaTest2 (line 388) | [Test]
    method NamedEnumCommaCaseInsensitiveTest (line 405) | [Test]
    method DeserializeNameEnumTest (line 412) | [Test]
    method SerializeEnumClass (line 431) | [Test]
    method SerializeEnumClassWithCamelCase (line 450) | [Test]
    method SerializeEnumClassUndefined (line 471) | [Test]
    method SerializeFlagEnum (line 490) | [Test]
    method SerializeNegativeFlagsEnum (line 509) | [Test]
    method DeserializeNegativeFlagsEnum (line 524) | [Test]
    method SerializeNegativeEnum (line 538) | [Test]
    method DeserializeNegativeEnum (line 555) | [Test]
    method DeserializeFlagEnum (line 569) | [Test]
    method DeserializeEnumClass (line 585) | [Test]
    method DeserializeEnumClassUndefined (line 601) | [Test]
    method CamelCaseTextFlagEnumSerialization (line 617) | [Test]
    method CamelCaseTextFlagEnumDeserialization (line 633) | [Test]
    method DeserializeEmptyStringIntoNullable (line 646) | [Test]
    method DeserializeInvalidString (line 659) | [Test]
    class Bucket (line 672) | public class Bucket
    type MyEnum (line 677) | public enum MyEnum
    method DeserializeIntegerButNotAllowed (line 683) | [Test]
    method EnumMemberPlusFlags (line 706) | [Test]
    method DuplicateNameEnumTest (line 763) | [Test]
    type Foo (line 772) | [Flags]
    type Bar (line 784) | [JsonConverter(typeof(StringEnumConverter))]
    method DataContractSerializerDuplicateNameEnumTest (line 795) | [Test]
    method EnumMemberWithNumbers (line 821) | [Test]
    method EnumMemberWithNumbers_NoIntegerValues (line 843) | [Test]
    method AllowIntegerValueAndStringNumber (line 866) | [Test]
    method AllowIntegerValueAndNegativeStringNumber (line 877) | [Test]
    method AllowIntegerValueAndPositiveStringNumber (line 888) | [Test]
    method AllowIntegerValueAndDash (line 899) | [Test]
    method AllowIntegerValueAndNonNamedValue (line 910) | [Test]
    type EnumWithDifferentCases (line 919) | public enum EnumWithDifferentCases
    method SerializeEnumWithDifferentCases (line 925) | [Test]
    method DeserializeEnumWithDifferentCases (line 937) | [Test]
    type EnumMemberDoesNotMatchName (line 948) | [JsonConverter(typeof(StringEnumConverter))]
    method DeserializeEnumCaseIncensitive_ByEnumMemberValue_UpperCase (line 955) | [Test]
    method DeserializeEnumCaseIncensitive_ByEnumMemberValue_MixedCase (line 962) | [Test]
    method DeserializeEnumCaseIncensitive_ByName_LowerCase (line 969) | [Test]
    method DeserializeEnumCaseIncensitive_ByName_UperCase (line 976) | [Test]
    method DeserializeEnumCaseIncensitive_FromAttribute (line 983) | [Test]
    type EnumMemberWithDiffrentCases (line 990) | [JsonConverter(typeof(StringEnumConverter))]
    method DeserializeEnumMemberWithDifferentCasing_ByEnumMemberValue_First (line 999) | [Test]
    method DeserializeEnumMemberWithDifferentCasing_ByEnumMemberValue_Second (line 1006) | [Test]
    type EnumMemberWithDifferentCases (line 1013) | [DataContract(Name = "DateFormats")]
    method SerializeEnumMemberWithDifferentCases (line 1022) | [Test]
    method DeserializeEnumMemberWithDifferentCases (line 1034) | [Test]
  class DuplicateEnumNameTestClass (line 1049) | [DataContract]
  type NumberNamesEnum (line 1059) | [DataContract]
  type DuplicateNameEnum (line 1072) | [DataContract]
  type DuplicateNameEnum2 (line 1088) | [DataContract]

FILE: Src/Newtonsoft.Json.Tests/Converters/UnixDateTimeConverterTests.cs
  class UnixDateTimeConverterTests (line 42) | [TestFixture]
    method SerializeDateTime (line 45) | [Test]
    method SerializeDateTimeNow (line 55) | [Test]
    method SerializeInvalidDate (line 66) | [Test]
    method SerializeDateBeforeEpoch (line 75) | [Test]
    method WriteJsonInvalidType (line 86) | [Test]
    method SerializeDateTimeOffset (line 98) | [Test]
    method SerializeNullableDateTimeClass (line 108) | [Test]
    method DeserializeNullToNonNullable (line 133) | [Test]
    method DeserializeDateTimeOffset (line 145) | [Test]
    method DeserializeStringToDateTimeOffset (line 158) | [Test]
    method DeserializeInvalidStringToDateTimeOffset (line 166) | [Test]
    method DeserializeDateTimeOffsetBeforeEpoch (line 175) | [Test]
    method DeserializeIntegerToDateTime (line 189) | [Test]
    method DeserializeNullToNullable (line 197) | [Test]
    method DeserializeInvalidValue (line 205) | [Test]
    method DeserializeNegativeIntegerToDateTimeBeforeEpoch (line 214) | [Test]
    method DeserializeInvalidValueType (line 222) | [Test]
    method ConverterList (line 231) | [Test]
    method ConverterDictionary (line 253) | [Test]
    method ConverterObject (line 275) | [Test]
    method ConverterObjectWithDatesBeforeEpoch (line 301) | [Test]
    method ConverterObjectWithDatesBeforeEpoch (line 323) | [Test]
  class UnixConverterList (line 344) | [JsonArray(ItemConverterType = typeof(UnixDateTimeConverter))]
  class UnixConverterDictionary (line 347) | [JsonDictionary(ItemConverterType = typeof(UnixDateTimeConverter))]
  class UnixConverterObject (line 350) | [JsonObject(ItemConverterType = typeof(UnixDateTimeConverter))]
  class PreEpochUnixConverterObject (line 361) | public class PreEpochUnixConverterObject

FILE: Src/Newtonsoft.Json.Tests/Converters/VersionConverterTests.cs
  class VersionClass (line 40) | public class VersionClass
    method VersionClass (line 42) | public VersionClass(string version1, string version2)
    method VersionClass (line 50) | public VersionClass()
  class VersionConverterTests (line 60) | [TestFixture]
    class VersionHelperClass (line 63) | internal static class VersionHelperClass
      method SerializeVersionClass (line 65) | internal static void SerializeVersionClass(string version1, string v...
      method DeserializeVersionClass (line 81) | internal static void DeserializeVersionClass(string version1, string...
    method WriteJsonNull (line 96) | [Test]
    method SerializeVersionClass (line 108) | [Test]
    method DeserializeVersionClass (line 121) | [Test]
    method RoundtripImplicitConverter (line 134) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs
  class XmlNodeConverterTest (line 58) | [TestFixture]
    method SerializeXmlNode (line 62) | private string SerializeXmlNode(XmlNode node)
    method DeserializeXmlNode (line 98) | private XmlNode DeserializeXmlNode(string json)
    method DeserializeXmlNode (line 103) | private XmlNode DeserializeXmlNode(string json, string deserializeRoot...
    method IndentXml (line 137) | private string IndentXml(string xml)
    method DeserializeXmlNode_DefaultDate (line 155) | [Test]
    method XmlNode_Null (line 163) | [Test]
    method XmlNode_Roundtrip_PropertyNameWithColon (line 171) | [Test]
    method XmlNode_Roundtrip_PropertyNameWithEscapedValue (line 185) | [Test]
    method XmlNode_EncodeSpecialCharacters (line 199) | [Test]
    method XmlNode_UnescapeTextContent (line 281) | [Test]
    method DeserializeXNode_DefaultDate (line 294) | [Test]
    method WriteJsonNull (line 303) | [Test]
    method XNode_Null (line 316) | [Test]
    method XNode_UnescapeTextContent (line 324) | [Test]
    method XNode_Roundtrip_PropertyNameWithColon (line 334) | [Test]
    method XNode_Roundtrip_PropertyNameWithEscapedValue (line 348) | [Test]
    method XNode_EncodeSpecialCharacters (line 362) | [Test]
    method XNode_MetadataArray_EncodeSpecialCharacters (line 444) | [Test]
    method SerializeDollarProperty (line 474) | [Test]
    method SerializeNonKnownDollarProperty (line 488) | [Test]
    class MyModel (line 504) | public class MyModel
    method ConvertNullString (line 509) | [Test]
    class Foo (line 527) | public class Foo
    method SerializeAndDeserializeXElement (line 532) | [Test]
    method MultipleNamespacesXDocument (line 544) | [Test]
    method MultipleNamespacesXmlDocument (line 573) | [Test]
    method SerializeXmlElement (line 601) | [Test]
    method SerializeXElement (line 641) | [Test]
    class DecimalContainer (line 677) | public class DecimalContainer
    method FloatParseHandlingDecimal (line 682) | [Test]
    class DateTimeOffsetContainer (line 706) | public class DateTimeOffsetContainer
    method DateTimeParseHandlingOffset (line 711) | [Test]
    method GroupElementsOfTheSameName (line 735) | [Test]
    method SerializeEmptyDocument (line 752) | [Test]
    method SerializeAndDeserializeXmlWithNamespaceInChildrenAndNoValueInChildren (line 779) | [Test]
    method DeserializeUndeclaredNamespacePrefix (line 798) | [Test]
    method DeserializeMultipleRootElements (line 813) | [Test]
    method DocumentSerializeIndented (line 836) | [Test]
    method SerializeNodeTypes (line 894) | [Test]
    method SerializeNodeTypes_Encoding (line 973) | [Test]
    method DocumentFragmentSerialize (line 1001) | [Test]
    method XmlDocumentTypeSerialize (line 1018) | [Test]
    class Utf8StringWriter (line 1120) | public class Utf8StringWriter : StringWriter
      method Utf8StringWriter (line 1127) | public Utf8StringWriter(StringBuilder sb) : base(sb)
    method ToStringWithDeclaration (line 1133) | public static string ToStringWithDeclaration(XDocument doc, bool inden...
    method ToStringWithDeclaration (line 1144) | public static string ToStringWithDeclaration(XmlDocument doc, bool ind...
    method NamespaceSerializeDeserialize (line 1154) | [Test]
    method FailOnIncomplete (line 1238) | [Test]
    method DocumentDeserialize (line 1248) | [Test]
    method GetIndentedInnerXml (line 1284) | private string GetIndentedInnerXml(XmlNode node)
    class Foo2 (line 1299) | public class Foo2
    method SerializeAndDeserializeXmlElement (line 1304) | [Test]
    method SingleTextNode (line 1316) | [Test]
    method EmptyNode (line 1341) | [Test]
    method OtherElementDataTypes (line 1387) | [Test]
    method NoRootObject (line 1399) | [Test]
    method RootObjectMultipleProperties (line 1405) | [Test]
    method JavaScriptConstructor (line 1413) | [Test]
    method ForceJsonArray (line 1439) | [Test]
    method MultipleRootPropertiesXmlDocument (line 1547) | [Test]
    method MultipleRootPropertiesXDocument (line 1559) | [Test]
    method MultipleRootPropertiesAddRootElement (line 1570) | [Test]
    method NestedArrays (line 1588) | [Test]
    method RoundTripNestedArrays (line 1651) | [Test]
    method MultipleNestedArraysToXml (line 1712) | [Test]
    method Encoding (line 1746) | [Test]
    method SerializeComment (line 1761) | [Test]
    method SerializeExample (line 1789) | [Test]
    method DeserializeExample (line 1858) | [Test]
    method EscapingNames (line 1898) | [Test]
    method SerializeDeserializeMetadataProperties (line 1942) | [Test]
    method SerializeDeserializeMetadataArray (line 1992) | [Test]
    method SerializeDeserializeMetadataArrayNoId (line 2023) | [Test]
    method SerializeDeserializeMetadataArrayWithIdLast (line 2055) | [Test]
    method SerializeMetadataPropertyWithBadValue (line 2095) | [Test]
    method SerializeDeserializeMetadataWithNullValue (line 2107) | [Test]
    method SerializeDeserializeMetadataArrayNull (line 2127) | [Test]
    method EmptyPropertyName (line 2148) | [Test]
    method SingleItemArrayPropertySerialization (line 2235) | [Test]
    class TestComplexArrayClass (line 2270) | public class TestComplexArrayClass
    method ComplexSingleItemArrayPropertySerialization (line 2276) | [Test]
    method OmitRootObject (line 2317) | [Test]
    method EmtpyElementWithArrayAttributeShouldWriteAttributes (line 2352) | [Test]
    method EmtpyElementWithArrayAttributeShouldWriteElement (line 2401) | [Test]
    method DeserializeNonInt64IntegerValues (line 2422) | [Test]
    method DeserializingBooleanValues (line 2436) | [Test]
    method IgnoreCultureForTypedAttributes (line 2450) | [Test]
    method NullAttributeValue (line 2487) | [Test]
    method NonStandardAttributeValues (line 2500) | [Test]
    method NonStandardElementsValues (line 2526) | [Test]
    method JsonBodyToSoapXml (line 2552) | private static void JsonBodyToSoapXml(Stream json, Stream xml)
    method DeserializeXNodeDefaultNamespace (line 2573) | [Test]
    method DeserializeXmlNodeDefaultNamespace (line 2812) | [Test]
    method DeserializeAttributePropertyNotAtStart (line 3061) | [Test]
    method SerializingXmlNamespaceScope (line 3072) | [Test]
    class NullableXml (line 3099) | public class NullableXml
    method SerializeAndDeserializeNullableXml (line 3106) | [Test]
    method SerializeAndDeserializeXElementWithNamespaceInChildrenRootDontHaveNameSpace (line 3120) | [Test]
    method SerializeAndDeserializeXmlElementWithNamespaceInChildrenRootDontHaveNameSpace (line 3140) | [Test]
    method DeserializeBigInteger (line 3159) | [Test]
    method DeserializeXmlIncompatibleCharsInPropertyName (line 3174) | [Test]
    method RootPropertyError (line 3188) | [Test]
    method SerializeEmptyNodeAndOmitRoot (line 3217) | [Test]
    method Serialize_XDocument_NoRoot (line 3232) | [Test]
    method Deserialize_XDocument_NoRoot (line 3242) | [Test]
    method Serialize_XDocument_NoRootWithDeclaration (line 3251) | [Test]
    method Deserialize_XDocument_NoRootWithDeclaration (line 3262) | [Test]
    method DateTimeToXml_Unspecified (line 3273) | [Test]
    method DateTimeToXml_Utc (line 3283) | [Test]
    method DateTimeToXml_Local (line 3293) | [Test]
    method DateTimeToXml_Unspecified_Precision (line 3305) | [Test]
    method DateTimeToXml_Utc_Precision (line 3315) | [Test]
    method DateTimeToXml_Local_Precision (line 3325) | [Test]
    method SerializeEmptyNodeAndOmitRoot_XElement (line 3337) | [Test]
    method SerializeElementExplicitAttributeNamespace (line 3349) | [Test]
    method SerializeElementImplicitAttributeNamespace (line 3362) | [Test]
    method SerializeDocumentExplicitAttributeNamespace (line 3375) | [Test]
    method SerializeDocumentImplicitAttributeNamespace (line 3388) | [Test]
    class Model (line 3401) | public class Model
    method DeserializeDateInElementText (line 3406) | [Test]

FILE: Src/Newtonsoft.Json.Tests/DemoTests.cs
  class DemoTests (line 55) | [TestFixture]
    class HtmlColor (line 58) | public class HtmlColor
    method JsonConverter (line 65) | [Test]
    class PersonDemo (line 104) | public class PersonDemo
    class Session (line 111) | public class Session
    class HtmlColorConverter (line 117) | public class HtmlColorConverter : JsonConverter
      method WriteJson (line 119) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 137) | public override object ReadJson(JsonReader reader, Type objectType,
      method CanConvert (line 153) | public override bool CanConvert(Type objectType)
    method SerializationGuide (line 159) | [Test]
    method SerializationBasics (line 195) | [Test]
    method SerializationBasics2 (line 222) | [Test]
    method DeserializationBasics1 (line 249) | [Test]
    method DeserializationBasics2 (line 267) | [Test]
    class City (line 282) | public class City
    class Employee (line 288) | public class Employee
    class Manager (line 293) | public class Manager : Employee
    method SerializeReferencesByValue (line 298) | [Test]
    method SerializeReferencesWithMetadata (line 344) | [Test]
    method RoundtripTypesAndReferences (line 407) | [Test]
    class House (line 450) | public class House
    class House1 (line 458) | public class House1
    class House3 (line 472) | [JsonObject(MemberSerialization.OptIn)]
    class House2 (line 483) | [JsonObject(MemberSerialization.OptIn)]
    class House4 (line 494) | [JsonObject(MemberSerialization.OptIn)]
    class House5 (line 507) | [JsonObject(MemberSerialization.OptIn)]
    method SerializeAttributes (line 521) | [Test]
    method MergeJson (line 557) | [Test]
    method ArrayPooling (line 600) | [Test]
    method SerializeDataTable (line 618) | [Test]
    method JsonPathRegex (line 660) | [Test]
    method AsyncDemo (line 685) | [Test]
  class JsonArrayPool (line 709) | public class JsonArrayPool : IArrayPool<char>
    method Rent (line 713) | public char[] Rent(int minimumLength)
    method Return (line 719) | public void Return(char[] array)

FILE: Src/Newtonsoft.Json.Tests/Documentation/ConditionalPropertiesTests.cs
  class Employee (line 54) | public class Employee
  class ShouldSerializeContractResolver (line 61) | public class ShouldSerializeContractResolver : DefaultContractResolver
    method CreateProperty (line 65) | protected override JsonProperty CreateProperty(MemberInfo member, Memb...
  class ConditionalPropertiesTests (line 84) | [TestFixture]
    class Employee (line 88) | public class Employee
      method ShouldSerializeManager (line 93) | public bool ShouldSerializeManager()
    method ShouldSerializeClassTest (line 101) | [Test]
    method ShouldSerializeContractResolverTest (line 143) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/ConvertingJsonAndXmlTests.cs
  class ConvertingJsonAndXmlTests (line 53) | [TestFixture]
    method SerializeXmlNode (line 56) | [Test]
    method DeserializeXmlNode (line 99) | [Test]
    method ForceJsonArray (line 139) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/JsonSchemaTests.cs
  class JsonSchemaTests (line 55) | public class JsonSchemaTests
    method IsValidBasic (line 57) | public void IsValidBasic()
    method IsValidMessages (line 85) | public void IsValidMessages()
    method JsonValidatingReader (line 116) | public void JsonValidatingReader()
    method LoadJsonSchema (line 139) | public void LoadJsonSchema()
    method ManuallyCreateJsonSchema (line 155) | public void ManuallyCreateJsonSchema()

FILE: Src/Newtonsoft.Json.Tests/Documentation/LinqToJsonTests.cs
  class File (line 53) | public static class File
    method OpenText (line 55) | public static StreamReader OpenText(string path)
    method CreateText (line 60) | public static StreamWriter CreateText(string path)
    method WriteAllText (line 65) | public static void WriteAllText(string path, string contents)
    method ReadAllText (line 69) | public static string ReadAllText(string path)
  class LinqToJsonTests (line 75) | [TestFixture]
    method LinqToJsonBasic (line 78) | [Test]
    method LinqToJsonCreateNormal (line 102) | [Test]
    class Post (line 121) | public class Post
    method GetPosts (line 129) | private List<Post> GetPosts()
    method LinqToJsonCreateDeclaratively (line 134) | [Test]
    method LinqToJsonCreateFromObject (line 192) | [Test]
    method LinqToJsonCreateParse (line 220) | [Test]
    method LinqToJsonCreateParseArray (line 236) | [Test]
    method LinqToJsonReadObject (line 250) | [Test]
    method LinqToJsonSimpleQuerying (line 262) | [Test]
    method LinqToJsonQuerying (line 311) | [Test]
    class Shortie (line 377) | public class Shortie
    class ShortieException (line 385) | public class ShortieException
    method LinqToJsonDeserializeExample (line 392) | [Test]
    method SelectTokenSimple (line 431) | [Test]
    method SelectTokenComplex (line 472) | [Test]
    method SelectTokenLinq (line 522) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/PerformanceTests.cs
  class Person (line 54) | [JsonConverter(typeof(PersonConverter))]
    method Person (line 57) | public Person()
  class ConverterContractResolver (line 68) | public class ConverterContractResolver : DefaultContractResolver
    method CreateContract (line 72) | protected override JsonContract CreateContract(Type objectType)
  class PersonConverter (line 87) | public class PersonConverter : JsonConverter
    method WriteJson (line 89) | public override void WriteJson(JsonWriter writer, object value, JsonSe...
    method ReadJson (line 93) | public override object ReadJson(JsonReader reader, Type objectType, ob...
    method CanConvert (line 105) | public override bool CanConvert(Type objectType)
  class PerformanceTests (line 111) | [TestFixture]
    class AppSettings (line 114) | private static class AppSettings
    method ReuseContractResolverTest (line 119) | [Test]
    method ConverterContractResolverTest (line 150) | [Test]
    class HttpClient (line 161) | public class HttpClient
      method GetStreamAsync (line 163) | public Task<Stream> GetStreamAsync(string url)
      method GetStringAsync (line 168) | public Task<string> GetStringAsync(string url)
    method DeserializeString (line 174) | [Test]
    method DeserializeStream (line 188) | [Test]
  class PersonWriter (line 208) | public static class PersonWriter
    method ToJson (line 211) | public static string ToJson(this Person p)
    method ToPerson (line 239) | public static Person ToPerson(this string s)

FILE: Src/Newtonsoft.Json.Tests/Documentation/ReadingAndWritingJsonTests.cs
  class ReadingAndWritingJsonTests (line 52) | [TestFixture]
    method ReadingAndWritingJsonText (line 55) | [Test]
    method ReadingJsonText (line 94) | [Test]
    method ReadingAndWritingJsonLinq (line 138) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBson.cs
  class DeserializeFromBson (line 42) | [TestFixture]
    class Event (line 46) | public class Event
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBsonCollection.cs
  class DeserializeFromBsonCollection (line 42) | [TestFixture]
    class Event (line 46) | public class Event
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/SerializeToBson.cs
  class SerializeToBson (line 43) | [TestFixture]
    class Event (line 47) | public class Event
    method Example (line 55) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonReader.cs
  class XmlJsonReader (line 48) | public class XmlJsonReader : JsonReader
    method XmlJsonReader (line 55) | public XmlJsonReader(XmlReader reader)
    method PeekState (line 61) | private JTokenType PeekState()
    method Read (line 67) | public override bool Read()
    method HandleValueType (line 176) | private bool HandleValueType()
    method ReadAsInt32 (line 214) | public override int? ReadAsInt32()
    method ReadAsString (line 224) | public override string ReadAsString()
    method ReadAsBytes (line 234) | public override byte[] ReadAsBytes()
    method ReadAsDecimal (line 244) | public override decimal? ReadAsDecimal()
    method ReadAsDateTime (line 254) | public override DateTime? ReadAsDateTime()
    method ReadAsDateTimeOffset (line 264) | public override DateTimeOffset? ReadAsDateTimeOffset()
  class CustomJsonReader (line 276) | [TestFixture]
    method Example (line 279) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonWriter.cs
  class XmlJsonWriter (line 48) | public class XmlJsonWriter : JsonWriter
    method XmlJsonWriter (line 53) | public XmlJsonWriter(XmlWriter writer)
    method WriteComment (line 58) | public override void WriteComment(string text)
    method WritePropertyName (line 64) | public override void WritePropertyName(string name)
    method WriteNull (line 70) | public override void WriteNull()
    method WriteValue (line 78) | public override void WriteValue(DateTime value)
    method WriteValue (line 87) | public override void WriteValue(DateTimeOffset value)
    method WriteValue (line 96) | public override void WriteValue(Guid value)
    method WriteValue (line 105) | public override void WriteValue(TimeSpan value)
    method WriteValue (line 114) | public override void WriteValue(Uri value)
    method WriteValue (line 123) | public override void WriteValue(string value)
    method WriteValue (line 132) | public override void WriteValue(int value)
    method WriteValue (line 141) | public override void WriteValue(long value)
    method WriteValue (line 150) | public override void WriteValue(short value)
    method WriteValue (line 159) | public override void WriteValue(byte value)
    method WriteValue (line 168) | public override void WriteValue(bool value)
    method WriteValue (line 177) | public override void WriteValue(char value)
    method WriteValue (line 186) | public override void WriteValue(decimal value)
    method WriteValue (line 195) | public override void WriteValue(double value)
    method WriteValue (line 204) | public override void WriteValue(float value)
    method WriteValueElement (line 213) | private void WriteValueElement(JTokenType type)
    method WriteValueElement (line 226) | private void WriteValueElement(string elementName, JTokenType type)
    method WriteStartArray (line 232) | public override void WriteStartArray()
    method WriteStartObject (line 248) | public override void WriteStartObject()
    method WriteStartConstructor (line 264) | public override void WriteStartConstructor(string name)
    method WriteEndArray (line 282) | public override void WriteEndArray()
    method WriteEndObject (line 288) | public override void WriteEndObject()
    method WriteEndConstructor (line 294) | public override void WriteEndConstructor()
    method Flush (line 300) | public override void Flush()
    method WriteIndent (line 305) | protected override void WriteIndent()
  class CustomJsonWriter (line 325) | [TestFixture]
    method Example (line 328) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/ReadJsonWithJsonTextReader.cs
  class ReadJsonWithJsonTextReader (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/ReadMultipleContentWithJsonReader.cs
  class ReadMultipleContentWithJsonReader (line 41) | [TestFixture]
    class Role (line 45) | public class Role
    method Example (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/WriteJsonWithJsonTextWriter.cs
  class WriteJsonWithJsonTextWriter (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/ErrorWhenNoMatchQuery.cs
  class ErrorWhenNoMatchQuery (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/QueryJsonSelectToken.cs
  class QueryJsonSelectToken (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/QueryJsonSelectTokenEscaped.cs
  class QueryJsonSelectTokenEscaped (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/QueryJsonSelectTokenJsonPath.cs
  class QueryJsonSelectTokenJsonPath (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/QueryJsonSelectTokenWithLinq.cs
  class QueryJsonSelectTokenWithLinq (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/RegexQuery.cs
  class RegexQuery (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/JsonPath/StrictEqualsQuery.cs
  class StrictEqualsQuery (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/Clone.cs
  class Clone (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonAnonymousObject.cs
  class CreateJsonAnonymousObject (line 46) | [TestFixture]
    class Post (line 50) | public class Post
    method Example (line 59) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonCollectionInitializer.cs
  class CreateJsonCollectionInitializer (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonDeclaratively.cs
  class CreateJsonDeclaratively (line 46) | [TestFixture]
    class Post (line 50) | public class Post
    method GetPosts (line 59) | private List<Post> GetPosts()
    method Example (line 76) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonDynamic.cs
  class CreateJsonDynamic (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonJTokenWriter.cs
  class CreateJsonJTokenWriter (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateJsonManually.cs
  class CreateJsonManually (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateReader.cs
  class CreateReader (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/CreateWriter.cs
  class CreateWriter (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeepEquals.cs
  class DeepEquals (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeserializeWithLinq.cs
  class DeserializeWithLinq (line 49) | [TestFixture]
    class BlogPost (line 53) | public class BlogPost
    method Example (line 63) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/FromObject.cs
  class FromObject (line 41) | [TestFixture]
    class Computer (line 45) | public class Computer
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/JObjectProperties.cs
  class JObjectProperties (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/JTokenAnnotation.cs
  class JTokenAnnotation (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/JValueCast.cs
  class JValueCast (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/JValueValue.cs
  class JValueValue (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/MergeJson.cs
  class MergeJson (line 38) | [TestFixture]
    method Example (line 41) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ModifyJson.cs
  class ModifyJson (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ParseJsonAny.cs
  class ParseJsonAny (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ParseJsonArray.cs
  class ParseJsonArray (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ParseJsonObject.cs
  class ParseJsonObject (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/QueryJson.cs
  class QueryJson (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/QueryJsonDynamic.cs
  class QueryJsonDynamic (line 48) | [TestFixture]
    method Example (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/QueryJsonIgnoreCase.cs
  class QueryJsonIgnoreCase (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/QueryJsonLinq.cs
  class QueryJsonLinq (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJTokenFromBson.cs
  class ReadJTokenFromBson (line 43) | [TestFixture]
    method Example (line 47) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJson.cs
  class ReadJson (line 42) | [TestFixture]
    method Example (line 45) | [Test]
    class File (line 60) | public static class File
      method OpenText (line 62) | public static StreamReader OpenText(string path)
      method ReadAllText (line 67) | public static string ReadAllText(string path)

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/SerializeWithLinq.cs
  class SerializeWithLinq (line 49) | [TestFixture]
    class BlogPost (line 53) | public class BlogPost
    method Example (line 63) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ToObjectComplex.cs
  class ToObjectComplex (line 41) | [TestFixture]
    class Person (line 45) | public class Person
    method Example (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ToObjectGeneric.cs
  class ToObjectGeneric (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ToObjectType.cs
  class ToObjectType (line 41) | [TestFixture]
    method Example (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ToString.cs
  class ToString (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ToStringJsonConverter.cs
  class ToStringJsonConverter (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteJTokenToBson.cs
  class WriteJTokenToBson (line 43) | [TestFixture]
    method Example (line 47) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteToJsonFile.cs
  class WriteToJsonFile (line 42) | [TestFixture]
    method Example (line 45) | [Test]
    class File (line 65) | public static class File
      method CreateText (line 67) | public static StreamWriter CreateText(string path)
      method WriteAllText (line 72) | public static void WriteAllText(string s1, string s2)

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/CreateJsonSchemaManually.cs
  class CreateJsonSchemaManually (line 35) | public class CreateJsonSchemaManually
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/JTokenIsValid.cs
  class JTokenIsValid (line 35) | public class JTokenIsValid
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/JTokenIsValidWithMessages.cs
  class JTokenIsValidWithMessages (line 35) | public class JTokenIsValidWithMessages
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/JTokenValidateWithEvent.cs
  class JTokenValidateWithEvent (line 35) | public class JTokenValidateWithEvent
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/JsonSchemaParse.cs
  class JsonSchemaParse (line 35) | public class JsonSchemaParse
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/JsonValidatingReaderAndSerializer.cs
  class JsonValidatingReaderAndSerializer (line 35) | public class JsonValidatingReaderAndSerializer
    class Person (line 38) | public class Person
    method Example (line 45) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/LoadJsonSchemaFromFile.cs
  class LoadJsonSchemaFromFile (line 35) | public class LoadJsonSchemaFromFile
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/RefJsonSchemaResolver.cs
  class RefJsonSchemaResolver (line 35) | public class RefJsonSchemaResolver
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Schema/SaveJsonSchemaToFile.cs
  class SaveJsonSchemaToFile (line 35) | public class SaveJsonSchemaToFile
    method Example (line 37) | public void Example()

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomContractResolver.cs
  class CustomContractResolver (line 46) | [TestFixture]
    class DynamicContractResolver (line 50) | public class DynamicContractResolver : DefaultContractResolver
      method DynamicContractResolver (line 54) | public DynamicContractResolver(char startingWithChar)
      method CreateProperties (line 59) | protected override IList<JsonProperty> CreateProperties(Type type, M...
    class Person (line 71) | public class Person
    method Example (line 83) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomJsonConverter.cs
  class CustomJsonConverter (line 46) | [TestFixture]
    class KeysJsonConverter (line 50) | public class KeysJsonConverter : JsonConverter
      method KeysJsonConverter (line 54) | public KeysJsonConverter(params Type[] types)
      method WriteJson (line 59) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 78) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 88) | public override bool CanConvert(Type objectType)
    class Employee (line 94) | public class Employee
    method Example (line 102) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomJsonConverterGeneric.cs
  class CustomJsonConverterGeneric (line 40) | [TestFixture]
    class VersionConverter (line 44) | public class VersionConverter : JsonConverter<Version>
      method WriteJson (line 46) | public override void WriteJson(JsonWriter writer, Version value, Jso...
      method ReadJson (line 51) | public override Version ReadJson(JsonReader reader, Type objectType,...
    class NuGetPackage (line 59) | public class NuGetPackage
    method Example (line 66) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomTraceWriter.cs
  class CustomTraceWriter (line 44) | [TestFixture]
    class NLogTraceWriter (line 48) | public class NLogTraceWriter : ITraceWriter
      method Trace (line 58) | public void Trace(TraceLevel level, string message, Exception ex)
      method GetLogLevel (line 71) | private LogLevel GetLogLevel(TraceLevel level)
    method Example (line 90) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DataContractAndDataMember.cs
  class DataContractAndDataMember (line 43) | [TestFixture]
    class File (line 47) | [DataContract]
    method Example (line 62) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DefaultSettings.cs
  class DefaultSettings (line 44) | [TestFixture]
    method Example (line 47) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DefaultValueAttributeIgnore.cs
  class DefaultValueAttributeIgnore (line 41) | [TestFixture]
    class Customer (line 45) | public class Customer
    method Example (line 58) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DefaultValueHandlingIgnore.cs
  class DefaultValueHandlingIgnore (line 40) | [TestFixture]
    class Person (line 44) | public class Person
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeAnonymousType.cs
  class DeserializeAnonymousType (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeCollection.cs
  class DeserializeCollection (line 45) | [TestFixture]
    method Example (line 48) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeConstructorHandling.cs
  class DeserializeConstructorHandling (line 41) | [TestFixture]
    class Website (line 45) | public class Website
      method Website (line 49) | private Website()
      method Website (line 53) | public Website(Website website)
    method Example (line 65) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeCustomCreationConverter.cs
  class DeserializeCustomCreationConverter (line 41) | [TestFixture]
    class Person (line 45) | public class Person
    class Employee (line 52) | public class Employee : Person
    class PersonConverter (line 58) | public class PersonConverter : CustomCreationConverter<Person>
      method Create (line 60) | public override Person Create(Type objectType)
    method Example (line 67) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDataSet.cs
  class DeserializeDataSet (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDateFormatString.cs
  class DeserializeDateFormatString (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDictionary.cs
  class DeserializeDictionary (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeExtensionData.cs
  class DeserializeExtensionData (line 41) | [TestFixture]
    class DirectoryAccount (line 45) | public class DirectoryAccount
      method OnDeserialized (line 57) | [OnDeserialized]
      method DirectoryAccount (line 68) | public DirectoryAccount()
    method Example (line 75) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeImmutableCollections.cs
  class DeserializeImmutableCollections (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeMetadataPropertyHandling.cs
  class DeserializeMetadataPropertyHandling (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeMissingMemberHandling.cs
  class DeserializeMissingMemberHandling (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeObject.cs
  class DeserializeObject (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeObjectCreationHandling.cs
  class DeserializeObjectCreationHandling (line 40) | [TestFixture]
    class UserViewModel (line 44) | public class UserViewModel
      method UserViewModel (line 49) | public UserViewModel()
    method Example (line 61) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithDependencyInjection.cs
  class DeserializeWithDependencyInjection (line 49) | [TestFixture]
    class AutofacContractResolver (line 53) | public class AutofacContractResolver : DefaultContractResolver
      method AutofacContractResolver (line 57) | public AutofacContractResolver(IContainer container)
      method CreateObjectContract (line 62) | protected override JsonObjectContract CreateObjectContract(Type obje...
      method ResolveContact (line 76) | private JsonObjectContract ResolveContact(Type objectType)
    class TaskController (line 94) | public class TaskController
      method TaskController (line 99) | public TaskController(ITaskRepository repository, ILogger logger)
    method Example (line 117) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithJsonSerializerFromFile.cs
  class DeserializeWithJsonSerializerFromFile (line 41) | [TestFixture]
    class Movie (line 45) | public class Movie
    method Example (line 52) | [Test]
    class File (line 68) | public static class File
      method ReadAllText (line 70) | public static string ReadAllText(string s)
      method OpenText (line 75) | public static StreamReader OpenText(string s)

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/ErrorHandlingAttribute.cs
  class ErrorHandlingAttribute (line 42) | [TestFixture]
    class Employee (line 46) | public class Employee
      method OnError (line 69) | [OnError]
    method Example (line 77) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/ErrorHandlingEvent.cs
  class ErrorHandlingEvent (line 42) | [TestFixture]
    method Example (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonConstructorAttribute.cs
  class JsonConstructorAttribute (line 41) | [TestFixture]
    class User (line 45) | public class User
      method User (line 50) | public User()
      method User (line 54) | [JsonConstructor]
    method Example (line 63) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonConverterAttributeClass.cs
  class JsonConverterAttributeClass (line 41) | [TestFixture]
    class UserConverter (line 45) | public class UserConverter : JsonConverter
      method WriteJson (line 47) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 54) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 62) | public override bool CanConvert(Type objectType)
    class User (line 68) | [JsonConverter(typeof(UserConverter))]
    method Example (line 75) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonConverterAttributeProperty.cs
  class JsonConverterAttributeProperty (line 41) | [TestFixture]
    type UserStatus (line 45) | public enum UserStatus
    class User (line 52) | public class User
    method Example (line 61) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonObjectAttributeOptIn.cs
  class JsonObjectAttributeOptIn (line 40) | [TestFixture]
    class File (line 44) | [JsonObject(MemberSerialization.OptIn)]
    method Example (line 59) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonObjectAttributeOverrideIEnumerable.cs
  class JsonObjectAttributeOverrideIEnumerable (line 41) | [TestFixture]
    class Directory (line 45) | [JsonObject]
      method Directory (line 51) | public Directory()
      method GetEnumerator (line 56) | public IEnumerator<string> GetEnumerator()
      method GetEnumerator (line 61) | IEnumerator IEnumerable.GetEnumerator()
    method Example (line 68) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonPropertyItemLevelSetting.cs
  class JsonPropertyItemLevelSetting (line 40) | [TestFixture]
    class Business (line 44) | public class Business
    class Employee (line 52) | public class Employee
    method Example (line 61) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonPropertyName.cs
  class JsonPropertyName (line 40) | [TestFixture]
    class Videogame (line 44) | public class Videogame
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonPropertyOrder.cs
  class JsonPropertyOrder (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 64) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonPropertyPropertyLevelSetting.cs
  class JsonPropertyPropertyLevelSetting (line 40) | [TestFixture]
    class Vessel (line 44) | public class Vessel
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/JsonPropertyRequired.cs
  class JsonPropertyRequired (line 40) | [TestFixture]
    class Videogame (line 44) | public class Videogame
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/MaxDepth.cs
  class MaxDepth (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategyAttributes.cs
  class NamingStrategyAttributes (line 41) | [TestFixture]
    class User (line 45) | [JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
    method Example (line 55) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategyCamelCase.cs
  class NamingStrategyCamelCase (line 41) | [TestFixture]
    class User (line 45) | public class User
    method Example (line 52) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategyKebabCase.cs
  class NamingStrategyKebabCase (line 41) | [TestFixture]
    class User (line 45) | public class User
    method Example (line 52) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategySkipDictionaryKeys.cs
  class NamingStrategySkipDictionaryKeys (line 41) | [TestFixture]
    class DailyHighScores (line 45) | public class DailyHighScores
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategySkipSpecifiedNames.cs
  class NamingStrategySkipSpecifiedNames (line 41) | [TestFixture]
    class User (line 45) | public class User
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NamingStrategySnakeCase.cs
  class NamingStrategySnakeCase (line 41) | [TestFixture]
    class User (line 45) | public class User
    method Example (line 52) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/NullValueHandlingIgnore.cs
  class NullValueHandlingIgnore (line 40) | [TestFixture]
    class Person (line 44) | public class Person
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/PopulateObject.cs
  class PopulateObject (line 45) | [TestFixture]
    class Account (line 49) | public class Account
    method Example (line 58) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/PreserveReferencesHandlingObject.cs
  class PreserveReferencesHandlingObject (line 40) | [TestFixture]
    class Directory (line 44) | public class Directory
    class File (line 51) | public class File
    method Example (line 58) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/PropertyJsonIgnore.cs
  class PropertyJsonIgnore (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/ReferenceLoopHandlingIgnore.cs
  class ReferenceLoopHandlingIgnore (line 40) | [TestFixture]
    class Employee (line 44) | public class Employee
    method Example (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializationCallbackAttributes.cs
  class SerializationCallbackAttributes (line 41) | [TestFixture]
    class SerializationEventTestObject (line 45) | public class SerializationEventTestObject
      method SerializationEventTestObject (line 63) | public SerializationEventTestObject()
      method OnSerializingMethod (line 71) | [OnSerializing]
      method OnSerializedMethod (line 77) | [OnSerialized]
      method OnDeserializingMethod (line 83) | [OnDeserializing]
      method OnDeserializedMethod (line 89) | [OnDeserialized]
    method Example (line 97) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeCollection.cs
  class SerializeCollection (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeConditionalProperty.cs
  class SerializeConditionalProperty (line 40) | [TestFixture]
    class Employee (line 44) | public class Employee
      method ShouldSerializeManager (line 49) | public bool ShouldSerializeManager()
    method Example (line 57) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeContractResolver.cs
  class SerializeContractResolver (line 41) | [TestFixture]
    class Person (line 45) | public class Person
    method Example (line 57) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDataSet.cs
  class SerializeDataSet (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDateFormatHandling.cs
  class SerializeDateFormatHandling (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDateFormatString.cs
  class SerializeDateFormatString (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDateTimeZoneHandling.cs
  class SerializeDateTimeZoneHandling (line 40) | [TestFixture]
    class Flight (line 44) | public class Flight
    method Example (line 54) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDictionary.cs
  class SerializeDictionary (line 40) | [TestFixture]
    method Example (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeExtensionData.cs
  class SerializeExtensionData (line 41) | [TestFixture]
    class CustomerInvoice (line 47) | public class CustomerInvoice
    method Example (line 60) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeImmutableCollections.cs
  class SerializeImmutableCollections (line 47) | [TestFixture]
    method Example (line 50) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeObject.cs
  class SerializeObject (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeRawJson.cs
  class SerializeRawJson (line 41) | [TestFixture]
    class JavaScriptSettings (line 45) | public class JavaScriptSettings
    method Example (line 52) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeSerializationBinder.cs
  class SerializeSerializationBinder (line 47) | [TestFixture]
    class KnownTypesBinder (line 51) | public class KnownTypesBinder : ISerializationBinder
      method BindToType (line 55) | public Type BindToType(string assemblyName, string typeName)
      method BindToName (line 60) | public void BindToName(Type serializedType, out string assemblyName,...
    class Car (line 67) | public class Car
    method Example (line 74) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeTypeNameHandling.cs
  class SerializeTypeNameHandling (line 40) | [TestFixture]
    class Business (line 44) | public abstract class Business
    class Hotel (line 49) | public class Hotel : Business
    class Stockholder (line 54) | public class Stockholder
    method Example (line 61) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeUnindentedJson.cs
  class SerializeUnindentedJson (line 40) | [TestFixture]
    class Account (line 44) | public class Account
    method Example (line 53) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeWithJsonConverters.cs
  class SerializeWithJsonConverters (line 46) | [TestFixture]
    method Example (line 49) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeWithJsonSerializerToFile.cs
  class SerializeWithJsonSerializerToFile (line 41) | [TestFixture]
    class Movie (line 45) | public class Movie
    method Example (line 52) | [Test]
    class File (line 74) | public static class File
      method CreateText (line 76) | public static StreamWriter CreateText(string path)
      method WriteAllText (line 81) | public static void WriteAllText(string s1, string s2)

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/TraceWriter.cs
  class TraceWriter (line 46) | [TestFixture]
    class Account (line 50) | public class Account
    method Example (line 57) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertJsonToXml.cs
  class ConvertJsonToXml (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJson.cs
  class ConvertXmlToJson (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJsonForceArray.cs
  class ConvertXmlToJsonForceArray (line 43) | [TestFixture]
    method Example (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/SerializationTests.cs
  class SerializationTests (line 54) | [TestFixture]
    class StreamWriter (line 57) | public class StreamWriter : OriginalStreamWriter
      method StreamWriter (line 59) | public StreamWriter(string path) : base(TestFixtureBase.ResolvePath(...
    method SerializeObject (line 64) | [Test]
    method JsonSerializerToStream (line 93) | [Test]
    class Person (line 114) | [JsonObject(MemberSerialization.OptIn)]
    class SerializationEventTestObject (line 135) | public class SerializationEventTestObject
      method SerializationEventTestObject (line 153) | public SerializationEventTestObject()
      method OnSerializingMethod (line 161) | [OnSerializing]
      method OnSerializedMethod (line 167) | [OnSerialized]
      method OnDeserializingMethod (line 173) | [OnDeserializing]
      method OnDeserializedMethod (line 179) | [OnDeserialized]
    method SerializationCallbacksExample (line 187) | [Test]
    method SerializationErrorHandling (line 233) | [Test]
    method SerializationErrorHandlingWithParent (line 271) | [Test]
    class PersonError (line 290) | public class PersonError
      method OnError (line 313) | [OnError]
    method SerializationErrorHandlingAttributeExample (line 321) | [Test]
    method PreservingObjectReferencesOff (line 350) | [Test]
    method PreservingObjectReferencesOn (line 394) | [Test]
    class EmployeeReference (line 445) | [JsonObject(IsReference = true)]
    type IPerson (line 454) | public interface IPerson
    class Employee (line 461) | public class Employee : IPerson
    class PersonConverter (line 471) | public class PersonConverter : CustomCreationConverter<IPerson>
      method Create (line 473) | public override IPerson Create(Type objectType)
    method CustomCreationConverterExample (line 480) | [Test]
    method ContractResolver (line 537) | [Test]
    method SerializingCollectionsSerializing (line 580) | [Test]
    method SerializingCollectionsDeserializing (line 634) | [Test]
    method SerializingCollectionsDeserializingDictionaries (line 667) | [Test]
    class LogEntry (line 686) | public class LogEntry
    method WriteJsonDates (line 692) | [Test]
    class Car (line 718) | public class Car
    class Computer (line 732) | [DataContract]
    class Movie (line 751) | public class Movie
    method ReducingSerializedJsonSizeNullValueHandlingExample (line 762) | [Test]
    class Invoice (line 809) | public class Invoice
    method ReducingSerializedJsonSizeDefaultValueHandlingExample (line 828) | [Test]
    class DynamicContractResolver (line 881) | public class DynamicContractResolver : DefaultContractResolver
      method DynamicContractResolver (line 885) | public DynamicContractResolver(char startingWithChar)
      method CreateProperties (line 890) | protected override IList<JsonProperty> CreateProperties(Type type, M...
    class Book (line 902) | public class Book
    method ReducingSerializedJsonSizeContractResolverExample (line 912) | [Test]
    class SearchResult (line 956) | public class SearchResult
    method SerializingPartialJsonFragmentsExample (line 964) | [Test]
    method SerializeMultidimensionalArrayExample (line 1046) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Documentation/TraceWriterTests.cs
  class LogEventInfo (line 56) | public class LogEventInfo
  class LogLevel (line 63) | public class LogLevel
  class Logger (line 72) | public class Logger
    method Log (line 74) | public void Log(LogEventInfo logEvent)
  class LogManager (line 79) | public static class LogManager
    method GetLogger (line 81) | public static Logger GetLogger(string className)
  class TraceWriterTests (line 87) | [TestFixture]
    class NLogTraceWriter (line 91) | public class NLogTraceWriter : ITraceWriter
      method Trace (line 101) | public void Trace(TraceLevel level, string message, Exception ex)
      method GetLogLevel (line 114) | private LogLevel GetLogLevel(TraceLevel level)
    method MemoryTraceWriterTest (line 133) | [Test]

FILE: Src/Newtonsoft.Json.Tests/ExceptionTests.cs
  class ExceptionTests (line 43) | [TestFixture]
    method JsonSerializationException (line 46) | [Test]
    method JsonWriterException (line 61) | [Test]
    method JsonReaderException (line 76) | [Test]
    method JsonSchemaException (line 92) | [Test]
    method BinarySerializeException (line 109) | [Test]

FILE: Src/Newtonsoft.Json.Tests/FileSystemEntityModel.Designer.cs
  class DataServicesTestDatabaseEntities (line 36) | public partial class DataServicesTestDatabaseEntities : ObjectContext
    method DataServicesTestDatabaseEntities (line 43) | public DataServicesTestDatabaseEntities() : base("name=DataServicesTes...
    method DataServicesTestDatabaseEntities (line 51) | public DataServicesTestDatabaseEntities(string connectionString) : bas...
    method DataServicesTestDatabaseEntities (line 59) | public DataServicesTestDatabaseEntities(EntityConnection connection) :...
    method OnContextCreated (line 68) | partial void OnContextCreated();
    method AddToFile (line 113) | public void AddToFile(File file)
    method AddToFolder (line 121) | public void AddToFolder(Folder folder)
  class File (line 137) | [EdmEntityTypeAttribute(NamespaceName="DataServicesTestDatabaseModel", N...
    method CreateFile (line 151) | public static File CreateFile(global::System.Guid fileId, global::Syst...
    method OnFileIdChanging (line 189) | partial void OnFileIdChanging(global::System.Guid value);
    method OnFileIdChanged (line 190) | partial void OnFileIdChanged();
    method OnNameChanging (line 213) | partial void OnNameChanging(global::System.String value);
    method OnNameChanged (line 214) | partial void OnNameChanged();
    method OnDescriptionChanging (line 237) | partial void OnDescriptionChanging(global::System.String value);
    method OnDescriptionChanged (line 238) | partial void OnDescriptionChanged();
    method OnCreatedDateChanging (line 261) | partial void OnCreatedDateChanging(global::System.DateTime value);
    method OnCreatedDateChanged (line 262) | partial void OnCreatedDateChanged();
  class Folder (line 314) | [EdmEntityTypeAttribute(NamespaceName="DataServicesTestDatabaseModel", N...
    method CreateFolder (line 328) | public static Folder CreateFolder(global::System.Guid folderId, global...
    method OnFolderIdChanging (line 366) | partial void OnFolderIdChanging(global::System.Guid value);
    method OnFolderIdChanged (line 367) | partial void OnFolderIdChanged();
    method OnNameChanging (line 390) | partial void OnNameChanging(global::System.String value);
    method OnNameChanged (line 391) | partial void OnNameChanged();
    method OnDescriptionChanging (line 414) | partial void OnDescriptionChanging(global::System.String value);
    method OnDescriptionChanged (line 415) | partial void OnDescriptionChanged();
    method OnCreatedDateChanging (line 438) | partial void OnCreatedDateChanging(global::System.DateTime value);
    method OnCreatedDateChanged (line 439) | partial void OnCreatedDateChanged();

FILE: Src/Newtonsoft.Json.Tests/FuzzRegressionTests.cs
  class FuzzRegressionTests (line 40) | [TestFixture]
    method Roundtrip (line 45) | public static void Roundtrip(string buffer)
    method Serialize (line 52) | private static string Serialize(object o)
    method Deserialize (line 59) | private static object Deserialize(string input)
    method LineCommentWithStarSlashCases (line 66) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue0198.cs
  class Issue0198 (line 48) | [TestFixture]
    method Test_List (line 51) | [Test]
    method Test_Collection (line 100) | [Test]
    class TestClass1 (line 123) | class TestClass1 : AbstactClass
      method TestClass1 (line 125) | public TestClass1()
    class TestClass2 (line 135) | class TestClass2
    class AbstactClass (line 141) | abstract class AbstactClass
    class TestClass3 (line 146) | class TestClass3
      method TestClass3 (line 148) | public TestClass3()

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue0573.cs
  class Issue0573 (line 43) | [TestFixture]
    method Test (line 46) | [Test]
    class PrivateSetterTestClass (line 61) | public class PrivateSetterTestClass

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1307.cs
  class Issue1307 (line 42) | [TestFixture]
    class MyOtherClass (line 45) | public class MyOtherClass
    class MyClass2 (line 51) | public class MyClass2
    class MyJsonConverter (line 56) | internal class MyJsonConverter : JsonConverter
      method CanConvert (line 60) | public override bool CanConvert(Type objectType)
      method ReadJson (line 65) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 90) | public override void WriteJson(JsonWriter writer, object value, Json...
    method Test (line 99) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1321.cs
  class Issue1321 (line 50) | [TestFixture]
    method Test (line 53) | [Test]
    method Test2 (line 64) | [Test]
    method Test2_Async (line 80) | [Test]
    method Test3 (line 96) | [Test]
    method Test3_Async (line 113) | [Test]
    method Test4 (line 130) | [Test]
    method Test4_Async (line 148) | [Test]
    method Test5 (line 166) | [Test]
    method Test5_Async (line 184) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1322.cs
  class Issue1322 (line 42) | [TestFixture]
    method Test (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs
  class Issue1327 (line 47) | [TestFixture]
    class PersonWithXmlNode (line 51) | public class PersonWithXmlNode
    class PersonWithXObject (line 62) | public class PersonWithXObject
    method Test_XmlNode (line 75) | [Test]
    method Test_XObject (line 99) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1351.cs
  class Issue1351 (line 49) | [TestFixture]
    class Color (line 52) | public class Color
      method Color (line 54) | public Color()
      method Color (line 58) | public Color(uint colorCode)
    class Colors (line 72) | public static class Colors
    class TestClass (line 77) | [DataContract]
      method TestClass (line 80) | public TestClass()
    method Test (line 89) | [Test]
    method Test_Replace (line 133) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1353.cs
  class Issue1353 (line 39) | [TestFixture]
    method Test (line 42) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1362.cs
  class Issue1362 (line 47) | [TestFixture]
    method Test (line 50) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1396.cs
  class Issue1396 (line 48) | [TestFixture]
    method Test (line 51) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1404.cs
  class Issue1404 (line 44) | [TestFixture]
    method Test (line 47) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1445.cs
  class Issue1445 (line 40) | [TestFixture]
    method Test (line 43) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1460.cs
  class Issue1460 (line 55) | [TestFixture]
    method Test (line 58) | [Test]
    method TestAsync (line 69) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1461.cs
  class Issue1461 (line 51) | [TestFixture]
    method Test (line 54) | [Test]
    class TestObject (line 82) | private class TestObject
    class TraceWriter (line 87) | private class TraceWriter : ITraceWriter
      method Trace (line 91) | public void Trace(TraceLevel level, string message, Exception ex)
    class IdJsonConverter (line 97) | private class IdJsonConverter : JsonConverter
      method CanConvert (line 99) | public override bool CanConvert(Type objectType) => typeof(Id) == ob...
      method ReadJson (line 101) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 111) | public override void WriteJson(JsonWriter writer, object value, Json...
    class Id (line 124) | private class Id : IEquatable<Id>
      method Id (line 128) | public Id(string id) { Value = id; }
      method Id (line 129) | public Id(long id) { Value = id; }
      method Id (line 130) | public Id(Guid id) { Value = id; }
      method ToString (line 140) | public override string ToString()
      method Equals (line 145) | public bool Equals(Id other)
      method Equals (line 152) | public override bool Equals(object obj)
      method GetHashCode (line 159) | public override int GetHashCode()

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1512.cs
  class Issue1512 (line 42) | [TestFixture]
    method Test_Constructor (line 45) | [Test]
    method Test_Property (line 61) | [Test]
  class Outer (line 78) | public sealed class Outer
    method Outer (line 80) | public Outer(ImmutableArray<string>? inners)
  class OuterProperty (line 88) | public sealed class OuterProperty

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1541.cs
  class Issue1541 (line 39) | [TestFixture]
    method Test_DirectoryInfo (line 43) | [Test]
    method Test_FileInfo (line 53) | [Test]
    method Test_DriveInfo (line 64) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1545.cs
  class Issue1545 (line 38) | [TestFixture]
    method Test_Populate (line 41) | [Test]
    method Test_Multidimensional (line 64) | [Test]
  class Simple (line 93) | public class Simple
  class SimpleObject (line 99) | [JsonConverter(typeof(LineInfoConverter))]
  class JsonLineInfo (line 105) | public class JsonLineInfo
  class LineInfoConverter (line 114) | public class LineInfoConverter : JsonConverter
    method WriteJson (line 121) | public override void WriteJson(JsonWriter writer, object value, JsonSe...
    method CanConvert (line 126) | public override bool CanConvert(Type objectType)
    method ReadJson (line 135) | public override object ReadJson(JsonReader reader, Type objectType, ob...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1552.cs
  class Issue1552 (line 38) | [TestFixture]
    method Test_Error (line 41) | [Test]
    method Test_Ignore (line 54) | [Test]
  class RefAndRefReadonlyTestClass (line 66) | public class RefAndRefReadonlyTestClass
    method RefAndRefReadonlyTestClass (line 71) | public RefAndRefReadonlyTestClass(int refReadonlyField)
    method SetRefField (line 80) | public void SetRefField(int value)
  class RefAndRefReadonlyIgnoredTestClass (line 86) | public class RefAndRefReadonlyIgnoredTestClass
    method RefAndRefReadonlyIgnoredTestClass (line 91) | public RefAndRefReadonlyIgnoredTestClass(int refReadonlyField)
    method SetRefField (line 102) | public void SetRefField(int value)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1561.cs
  class Issue1561 (line 38) | [TestFixture]
    method Test (line 41) | [Test]
    class Data (line 54) | public class Data

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1566.cs
  class Issue1566 (line 41) | [TestFixture]
    method Github_deserialize_pr_state_should_be_case_insensitive (line 44) | [Test]
    method Github_deserialize_pr_state_changes_requested_should_be_case_insensitive (line 60) | [Test]
    type GitHubPullRequestReviewState (line 76) | public enum GitHubPullRequestReviewState
    class GitHubPullRequestReview (line 94) | public class GitHubPullRequestReview

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1569.cs
  class Issue1569 (line 43) | [TestFixture]
    method Test (line 46) | [Test]
    class AsyncOnlyStream (line 63) | public class AsyncOnlyStream : Stream
      method AsyncOnlyStream (line 67) | public AsyncOnlyStream(Stream innerStream)
      method Flush (line 72) | public override void Flush()
      method FlushAsync (line 77) | public override Task FlushAsync(CancellationToken cancellationToken)
      method Seek (line 82) | public override long Seek(long offset, SeekOrigin origin)
      method SetLength (line 87) | public override void SetLength(long value)
      method Read (line 92) | public override int Read(byte[] buffer, int offset, int count)
      method ReadAsync (line 97) | public override Task<int> ReadAsync(byte[] buffer, int offset, int c...
      method Write (line 102) | public override void Write(byte[] buffer, int offset, int count)
      method WriteAsync (line 107) | public override Task WriteAsync(byte[] buffer, int offset, int count...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1574.cs
  class Issue1574 (line 42) | [TestFixture]
    method Test (line 45) | [Test]
    type ServerType (line 54) | public enum ServerType { STUN, TURN };
    class TestClass (line 56) | public class TestClass

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1576.cs
  class Issue1576 (line 43) | [TestFixture]
    method Test (line 46) | [Test]
    method Test_WithJsonConverterAttribute (line 61) | [Test]
    class TestClass (line 71) | public class TestClass
    class TestClassWithJsonConverter (line 76) | public class TestClassWithJsonConverter
    class CustomContractResolver (line 82) | public class CustomContractResolver : DefaultContractResolver
      method CreateProperty (line 84) | protected override JsonProperty CreateProperty(MemberInfo member, Me...
    class OneItemListJsonConverter (line 97) | public class OneItemListJsonConverter : JsonConverter
      method WriteJson (line 101) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 106) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 131) | public override bool CanConvert(Type objectType)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1592.cs
  class Issue1592 (line 44) | [TestFixture]
    method Test (line 47) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1593.cs
  class Issue1593 (line 46) | [TestFixture]
    method Test (line 49) | [Test]
    class BaseModel (line 56) | class BaseModel
      method BaseModel (line 58) | public BaseModel()
    class SpecificModel (line 66) | class SpecificModel : BaseModel
    method CreateModel (line 71) | BaseModel CreateModel()

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1597.cs
  class Issue1597 (line 47) | [TestFixture]
    method Test (line 50) | [Test]
    method Test_WithNumbers (line 70) | [Test]
    method Test_Serialize (line 90) | [Test]
    type CollectionStatus (line 113) | public enum CollectionStatus

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1598.cs
  class Issue1598 (line 47) | [TestFixture]
    method Test (line 50) | [Test]
    method Test_SubClass (line 72) | [Test]
    class Activity (line 92) | public class Activity
    class ActivitiesSubClass (line 97) | public class ActivitiesSubClass : Activities
    class Activities (line 101) | [DataContract]
      method GetEnumerator (line 107) | public IEnumerator<Activity> GetEnumerator()
      method GetEnumerator (line 112) | IEnumerator IEnumerable.GetEnumerator()

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1619.cs
  class Issue1619 (line 38) | [TestFixture]
    method Test (line 41) | [Test]
    class Foo (line 53) | public class Foo
    class DirectoryInfoJsonConverter (line 58) | public class DirectoryInfoJsonConverter : JsonConverter
      method CanConvert (line 60) | public override bool CanConvert(Type objectType)
      method ReadJson (line 65) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 75) | public override void WriteJson(JsonWriter writer, object value, Json...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1620.cs
  class Issue1620 (line 54) | [TestFixture]
    method Test_SerializeMock (line 57) | [Test]
    method Test_GetFieldsAndProperties (line 67) | [Test]
    type IFoo (line 78) | public interface IFoo
    class Foo (line 82) | public class Foo : IFoo
    class FooConverter (line 86) | public class FooConverter : JsonConverter
      method WriteJson (line 88) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 93) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 98) | public override bool CanConvert(Type objectType)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1642.cs
  class Issue1642 (line 47) | [TestFixture]
    method Test (line 50) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1682.cs
  class Issue1682 (line 46) | [TestFixture]
    method Test_Serialize (line 49) | [Test]
    method Test_Deserialize (line 59) | [Test]
    class ClassWithSerializableProperty (line 67) | public class ClassWithSerializableProperty
    class ConcreteSerializable (line 72) | [Serializable]
      method ConcreteSerializable (line 75) | public ConcreteSerializable()
      method ConcreteSerializable (line 79) | protected ConcreteSerializable(SerializationInfo info, StreamingCont...
    class BaseSerializable (line 85) | [Serializable] // it won't blow up after removing that attribute
      method BaseSerializable (line 88) | public BaseSerializable()
      method BaseSerializable (line 93) | protected BaseSerializable(SerializationInfo info, StreamingContext ...
      method GetObjectData (line 97) | public void GetObjectData(SerializationInfo info, StreamingContext c...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1708.cs
  class Issue1708 (line 47) | [TestFixture]
    method Test_DateTime (line 50) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1711.cs
  class Issue1711 (line 46) | [TestFixture]
    method Test_Raw (line 49) | [Test]
    method Test_String (line 56) | [Test]
    class FooClass (line 63) | public class FooClass

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1719.cs
  class Issue1719 (line 51) | [TestFixture]
    method Test (line 54) | [Test]
    method Test_PreviousWorkaround (line 65) | [Test]
    method Test_DefaultValue (line 76) | [Test]
    class ExtensionDataTestClass (line 87) | class ExtensionDataTestClass
    class ExtensionDataWithDefaultValueTestClass (line 95) | class ExtensionDataWithDefaultValueTestClass
    type B (line 104) | enum B
    class ExtensionDataTestClassWorkaround (line 110) | class ExtensionDataTestClassWorkaround

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1725.cs
  class Issue1725 (line 46) | [TestFixture]
    method Test_In (line 49) | [Test]
    method Test_Ref (line 59) | [Test]
    method Test_InNullable (line 70) | [Test]
    method Test_RefNullable (line 80) | [Test]
    class InPerson (line 91) | public class InPerson
      method InPerson (line 93) | public InPerson(in string name)
    class RefPerson (line 101) | public class RefPerson
      method RefPerson (line 103) | public RefPerson(ref string name)
    class InNullablePerson (line 111) | public class InNullablePerson
      method InNullablePerson (line 113) | public InNullablePerson(in int? age)
    class RefNullablePerson (line 121) | public class RefNullablePerson
      method RefNullablePerson (line 123) | public RefNullablePerson(ref int? age)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1734.cs
  class Issue1734 (line 46) | [TestFixture]
    method Test_XmlNode (line 50) | [Test]
    method IndentXml (line 126) | private string IndentXml(string xml)
    method Test_XNode (line 145) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1752.cs
  class Issue1752 (line 50) | [TestFixture]
    method Test_EmptyString (line 53) | [Test]
    method Test_Null (line 67) | [Test]
    class TestObject (line 74) | class TestObject
    class TestObject1 (line 79) | class TestObject1

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1757.cs
  class Issue1757 (line 52) | [TestFixture]
    method Test_Serialize (line 55) | [Test]
    method Test_SerializeEncoding (line 61) | [Test]
    method Test_Deserialize (line 67) | [Test]
    class TestObject (line 73) | public class TestObject
      method DoNothing (line 95) | private static void DoNothing(Span<int> param)
      method PrintMySpan (line 99) | public string PrintMySpan(string str, Span<int> mySpan = default)
      method GetSpan (line 104) | public Span<int> GetSpan(int[] array)
    type MyByRefLikeType (line 110) | public ref struct MyByRefLikeType
      method MyByRefLikeType (line 112) | public MyByRefLikeType(int i) { }

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1778.cs
  class Issue1778 (line 51) | [TestFixture]
    method Test (line 54) | [Test]
    method Test_Async (line 67) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1796.cs
  class Issue1796 (line 51) | [TestFixture]
    method Test (line 54) | [Test]
    method Test_Generic (line 62) | [Test]
    class TestStack (line 70) | public class TestStack : SortedSet<object>
    class TestStack (line 74) | public class TestStack<T> : SortedSet<T>

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1798.cs
  class Issue1798 (line 44) | [TestFixture]
    class NonSerializableException (line 47) | public class NonSerializableException : Exception
    method Test (line 51) | [Test]
    method Test_DefaultContractResolver (line 85) | [Test]
    method AssertNoTargetSite (line 101) | private void AssertNoTargetSite(string json)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1834.cs
  class Issue1834 (line 50) | [TestFixture]
    method Test (line 53) | [Test]
    method Test_UnsetRequired (line 62) | [Test]
    class ItemWithJsonConstructor (line 71) | public class ItemWithJsonConstructor
      method ItemWithJsonConstructor (line 76) | [JsonConstructor]
    class ItemWithJsonConstructorAndDefaultValue (line 86) | public class ItemWithJsonConstructorAndDefaultValue
      method ItemWithJsonConstructorAndDefaultValue (line 91) | [JsonConstructor]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1837.cs
  class Issue1837 (line 42) | [TestFixture]
    method AllStrictEqualityTests (line 45) | [Test]
    method AssertNone (line 99) | private void AssertNone(Comparator comparator, JValue token, params JV...
    method AssertNone (line 107) | private void AssertNone(Comparator comparator, JValue token, params JV...
    method AssertAll (line 116) | private void AssertAll(Comparator comparator, JValue token, params JVa...
    method AssertAll (line 124) | private void AssertAll(Comparator comparator, JValue token, params JVa...
  class TestData (line 137) | public class TestData
    method TestData (line 178) | public TestData()

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1874.cs
  class Issue1874 (line 40) | [TestFixture]
    method Test (line 43) | [Test]
    class Something (line 59) | public class Something

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1877.cs
  class Issue1877 (line 41) | [TestFixture]
    method Test (line 44) | [Test]
    class Fubar (line 67) | class Fubar
    class Fubar2 (line 74) | private class Fubar2 : Fubar

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1962.cs
  class Issue1962 (line 38) | [TestFixture]
    method Test_Default (line 41) | [Test]
    method Test_LoadComments (line 52) | [Test]
    method Test_IgnoreComments (line 69) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue1984.cs
  class Issue1984 (line 40) | [TestFixture]
    method Test_NullValue (line 43) | [Test]
    method Test_WithoutValue (line 51) | [Test]
    class A (line 59) | public class A

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2082.cs
  class Issue2082 (line 43) | [TestFixture]
    method Test (line 46) | [Test]
    class TestClass (line 64) | public class TestClass
    type TestEnum (line 69) | public enum TestEnum

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2156.cs
  class Issue2156 (line 38) | [TestFixture]
    method Test (line 41) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2165.cs
  class Issue2165 (line 42) | [TestFixture]
    method Test_Deserializer (line 45) | [Test]
    method Test (line 53) | [Test]
    method TestAsync (line 68) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2176.cs
  class Issue2176 (line 37) | [TestFixture]
    method Test (line 40) | [Test]
    class Dummy (line 48) | public class Dummy
      method Dummy (line 308) | public Dummy(int p0, int p1, int p2, int p3, int p4, int p5, int p6,...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2444.cs
  class Issue2444 (line 40) | [TestFixture]
    method Test (line 43) | [Test]
    type MyEnum (line 76) | public enum MyEnum
    class DataClass (line 82) | public class DataClass

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2450.cs
  class Issue2450 (line 42) | [TestFixture]
    method Test (line 45) | [Test]
    method Test_Serialize (line 58) | [Test]
    method Test_Deserialize (line 71) | [Test]
    type Dict (line 81) | public struct Dict : IReadOnlyDictionary<string, object>
      method Dict (line 84) | public Dict(IDictionary<string, object> dict) => _dict = dict;
      method ContainsKey (line 90) | public bool ContainsKey(string key) => _dict.ContainsKey(key);
      method GetEnumerator (line 91) | public IEnumerator<KeyValuePair<string, object>> GetEnumerator() => ...
      method TryGetValue (line 92) | public bool TryGetValue(string key, out object value) => _dict.TryGe...
      method GetEnumerator (line 93) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2484.cs
  class Issue2484 (line 43) | [TestFixture]
    method Test (line 46) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2492.cs
  class Issue2492 (line 44) | [TestFixture]
    method Test_Object (line 47) | [Test]
    method Test_Integer (line 62) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2504.cs
  class Issue2504 (line 44) | [TestFixture]
    method Test (line 47) | [Test]
    method Test_Failure (line 61) | [Test]
    method GetDepth (line 75) | private static int GetDepth(JToken o)
    class TestObject (line 90) | private class TestObject
    class TestConverter (line 95) | private class TestConverter : JsonConverter
      method CanConvert (line 97) | public override bool CanConvert(Type objectType)
      method ReadJson (line 102) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 114) | public override void WriteJson(JsonWriter writer, object value, Json...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2529.cs
  class Issue2529 (line 44) | [TestFixture]
    method Test (line 47) | [Test]
    class Something (line 55) | private class Something

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2638.cs
  class Issue2638 (line 40) | [TestFixture]
    method DeserilizeUsesSharedBooleans (line 43) | [Test]
    method DeserilizeUsesSharedDoubleZeros (line 61) | [Test]
    method DeserilizeUsesSharedSmallInt64 (line 94) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2694.cs
  class Issue2694 (line 43) | [TestFixture]
    method Test_Reader_DisposeAsync (line 47) | [Test]
    method Test_Writer_DisposeAsync (line 58) | [Test]
    method Test_Writer_CloseAsync (line 74) | [Test]
    class AsyncOnlyStream (line 89) | public class AsyncOnlyStream : Stream
      method AsyncOnlyStream (line 94) | public AsyncOnlyStream(Stream innerStream)
      method Flush (line 99) | public override void Flush()
      method FlushAsync (line 108) | public override Task FlushAsync(CancellationToken cancellationToken)
      method Seek (line 114) | public override long Seek(long offset, SeekOrigin origin)
      method SetLength (line 119) | public override void SetLength(long value)
      method Read (line 124) | public override int Read(byte[] buffer, int offset, int count)
      method ReadAsync (line 129) | public override Task<int> ReadAsync(byte[] buffer, int offset, int c...
      method Write (line 134) | public override void Write(byte[] buffer, int offset, int count)
      method WriteAsync (line 139) | public override Task WriteAsync(byte[] buffer, int offset, int count...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2708.cs
  class Issue2708 (line 45) | [TestFixture]
    method Test (line 48) | [Test]
    class RecordBase (line 62) | [DataContract]
    class MyRecord (line 71) | [DataContract]
      method MyRecord (line 74) | public MyRecord(string childClassProp) => ChildClassProp = childClas...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2735.cs
  class Issue2735 (line 47) | [TestFixture]
    method Test (line 50) | [Test]
    method Test_Failure (line 70) | [Test]
    method Test_Failure2 (line 91) | [Test]
    class FooBar (line 112) | [Serializable]
      method FooBar (line 119) | public FooBar()
      method FooBar (line 123) | public FooBar(SerializationInfo info, StreamingContext context)
      method GetObjectData (line 128) | public void GetObjectData(SerializationInfo info, StreamingContext c...
      method AddFoo (line 133) | public void AddFoo(string name, Foo myFoo)
    class Foo (line 139) | public class Foo
      method Foo (line 144) | public Foo(Foo myFoo)
    method DeserializeSettings (line 151) | private JsonSerializerSettings DeserializeSettings(int maxDepth) => ne...
    method SerializeSettings (line 157) | private JsonSerializerSettings SerializeSettings(int maxDepth) => new ...

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2768.cs
  class Issue2768 (line 48) | [TestFixture]
    method Test_Serialize (line 51) | [Test]
    method Test_Serialize_NoTrailingZero (line 60) | [Test]
    method Test_Deserialize (line 69) | [Test]
    method Test_Deserialize_Negative (line 77) | [Test]
    method Test_Deserialize_NegativeNoTrailingZero (line 85) | [Test]
    method Test_Deserialize_MultipleTrailingZeroes (line 93) | [Test]
    method Test_Deserialize_NoTrailingZero (line 101) | [Test]
    method ParseJsonDecimal (line 109) | [Test]
    method ParseJsonDecimal_IsBoxedInstanceSame (line 133) | [Test]
    method Test_Deserialize_Double_Negative (line 165) | [Test]
    method Test_Deserialize_Double_NegativeNoTrailingZero (line 177) | [Test]
    method JValueDouble_ToString (line 189) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue2775.cs
  class Issue2775 (line 14) | [TestFixture]
    method TokenType (line 17) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue3055.cs
  class Issue3055 (line 14) | [TestFixture]
    method RoundTripWithSpecialCharacters (line 17) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue3056.cs
  class Issue3056 (line 16) | [TestFixture]
    method RoundTripOfNestedArraysWithOneItem (line 19) | [Test]
    method RoundTripOfDeeperNestedArrays (line 27) | [Test]
    method JsonToXmlToJson (line 35) | private static string JsonToXmlToJson(string json)

FILE: Src/Newtonsoft.Json.Tests/Issues/Issue3080.cs
  class Issue3080 (line 22) | [TestFixture]
    method OptionalProperty_DeserializationWithNullExplicitlySet_AllPropertiesHaveNull (line 25) | [Test]
    method IValueProvider_SetNullToOptionalNullableInt (line 76) | [TestCase(typeof(ReflectionValueProvider))]
  class TestModel (line 101) | public class TestModel
  type Optional (line 134) | [Newtonsoft.Json.JsonConverter(typeof(OptionalValueJsonConverter))]
    method Optional (line 141) | public Optional(T? value)
    method ToString (line 235) | public override string ToString()
    method Equals (line 246) | public override bool Equals(object? obj)
    method GetHashCode (line 257) | public override int GetHashCode()
    method ValueEquals (line 263) | private static bool ValueEquals(Optional<T?> a, Optional<T?> b)
    method CompareTo (line 280) | public int CompareTo(Optional<T?> other)
  type IOptional (line 299) | public interface IOptional
  class OptionalValueContractResolver (line 320) | public class OptionalValueContractResolver : DefaultContractResolver
    method OptionalValueContractResolver (line 327) | public OptionalValueContractResolver()
    method ShouldSerializeOptionalBuilder (line 336) | public static Predicate<object> ShouldSerializeOptionalBuilder<T>(Json...
    method CreateProperty (line 351) | protected override JsonProperty CreateProperty(MemberInfo member, Memb...
    method MakePredicateForOptionalType (line 369) | public static Predicate<object> MakePredicateForOptionalType(Type base...
  class OptionalValueJsonConverter (line 384) | public class OptionalValueJsonConverter : JsonConverter
    type ITypedConverter (line 391) | public interface ITypedConverter
      method Deserialize (line 396) | object? Deserialize(object? value);
      method ExtractValue (line 401) | object ExtractValue(object value);
    method WriteJson (line 407) | public override void WriteJson(JsonWriter writer, object? value, JsonS...
    method ReadJson (line 438) | public override object? ReadJson(JsonReader reader, Type objectType, o...
    method GetConverter (line 458) | private static ITypedConverter GetConverter(Type objectType)
    method ResolveOptionalTypeParameter (line 493) | public static Type? ResolveOptionalTypeParameter(Type optionalType)
    method CanConvert (line 513) | public override bool CanConvert(Type objectType)
    class TypedConverter (line 522) | public class TypedConverter<T> : ITypedConverter
      method Deserialize (line 527) | public object? Deserialize(object? value)
      method ExtractValue (line 571) | public object ExtractValue(object value)

FILE: Src/Newtonsoft.Json.Tests/JsonArrayAttributeTests.cs
  class JsonArrayAttributeTests (line 37) | [TestFixture]
    method IsReferenceTest (line 40) | [Test]
    method NullValueHandlingTest (line 56) | [Test]
    method DefaultValueHandlingTest (line 68) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonConvertTest.cs
  class JsonConvertTest (line 60) | [TestFixture]
    method ToStringEnsureEscapedArrayLength (line 63) | [Test]
    class PopulateTestObject (line 75) | public class PopulateTestObject
    method PopulateObjectWithHeaderComment (line 80) | [Test]
    method PopulateObjectWithMultipleHeaderComment (line 94) | [Test]
    method PopulateObjectWithNoContent (line 109) | [Test]
    method NoConstructorName (line 121) | [Test]
    method PopulateObjectWithOnlyComment (line 132) | [Test]
    method DefaultSettings (line 148) | [Test]
    class NameTableTestClass (line 174) | public class NameTableTestClass
    class NameTableTestClassConverter (line 179) | public class NameTableTestClassConverter : JsonConverter
      method WriteJson (line 181) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 186) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 206) | public override bool CanConvert(Type objectType)
    method NameTableTest (line 212) | [Test]
    class CustonNameTable (line 228) | public class CustonNameTable : JsonNameTable
      method Get (line 230) | public override string Get(char[] key, int start, int length)
    method CustonNameTableTest (line 236) | [Test]
    method DefaultSettings_Example (line 252) | [Test]
    method DefaultSettings_Override (line 295) | [Test]
    method DefaultSettings_Override_JsonConverterOrder (line 318) | [Test]
    method DefaultSettings_Create (line 348) | [Test]
    method DefaultSettings_CreateWithSettings (line 394) | [Test]
    class IntConverter (line 445) | public class IntConverter : JsonConverter
      method WriteJson (line 447) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 453) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 458) | public override bool CanConvert(Type objectType)
    method DeserializeObject_EmptyString (line 464) | [Test]
    method DeserializeObject_Integer (line 471) | [Test]
    method DeserializeObject_Integer_EmptyString (line 478) | [Test]
    method DeserializeObject_Decimal_EmptyString (line 485) | [Test]
    method DeserializeObject_DateTime_EmptyString (line 492) | [Test]
    method EscapeJavaScriptString (line 499) | [Test]
    method EscapeJavaScriptString_UnicodeLinefeeds (line 560) | [Test]
    method ToStringInvalid (line 575) | [Test]
    method GuidToString (line 581) | [Test]
    method EnumToString (line 589) | [Test]
    method ObjectToString (line 596) | [Test]
    method TestInvalidStrings (line 666) | [Test]
    method DeserializeValueObjects (line 682) | [Test]
    method FloatToString (line 703) | [Test]
    method DecimalToString (line 722) | [Test]
    method StringEscaping (line 741) | [Test]
    method ToStringStringEscapeHandling (line 750) | [Test]
    method WriteDateTime (line 765) | [Test]
    class DateTimeResult (line 912) | public class DateTimeResult
    method TestDateTime (line 925) | private DateTimeResult TestDateTime<T>(string name, T value)
    method TestDateTimeFormat (line 973) | private static string TestDateTimeFormat<T>(T value, DateFormatHandlin...
    method TestDateTimeFormat (line 1007) | private static void TestDateTimeFormat<T>(T value, JsonConverter conve...
    method GetTicks (line 1031) | public static long GetTicks(object value)
    method Write (line 1036) | public static string Write(object value, JsonConverter converter)
    method Read (line 1046) | public static T Read<T>(string text, JsonConverter converter)
    method SerializeObjectDateTimeZoneHandling (line 1054) | [Test]
    method DeserializeObject (line 1067) | [Test]
    method TestJsonDateTimeOffsetRoundtrip (line 1088) | [Test]
    method MaximumDateTimeOffsetLength (line 1110) | [Test]
    method MaximumDateTimeLength (line 1126) | [Test]
    method MaximumDateTimeMicrosoftDateFormatLength (line 1139) | [Test]
    method IntegerLengthOverflows (line 1154) | [Test]
    method ParseIsoDate (line 1168) | [Test]
    method StackOverflowTest (line 1180) | [Test]
    class Nest (line 1204) | public class Nest
    method ParametersPassedToJsonConverterConstructor (line 1209) | [Test]
    class ClobberMyProperties (line 1218) | public class ClobberMyProperties
    class ClobberingJsonConverter (line 1232) | public class ClobberingJsonConverter : JsonConverter
      method ClobberingJsonConverter (line 1238) | public ClobberingJsonConverter(string clobberValueString, int clobbe...
      method ClobberingJsonConverter (line 1244) | public ClobberingJsonConverter(string clobberValueString)
      method WriteJson (line 1249) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 1254) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 1259) | public override bool CanConvert(Type objectType)
    method WrongParametersPassedToJsonConvertConstructorShouldThrow (line 1265) | [Test]
    class IncorrectJsonConvertParameters (line 1273) | public class IncorrectJsonConvertParameters
    class OverloadsJsonConverterer (line 1284) | public class OverloadsJsonConverterer : JsonConverter
      method OverloadsJsonConverterer (line 1290) | public OverloadsJsonConverterer(Type typeParam)
      method OverloadsJsonConverterer (line 1295) | public OverloadsJsonConverterer(object objectParam)
      method OverloadsJsonConverterer (line 1302) | public OverloadsJsonConverterer(byte byteParam)
      method OverloadsJsonConverterer (line 1307) | public OverloadsJsonConverterer(short shortParam)
      method OverloadsJsonConverterer (line 1312) | public OverloadsJsonConverterer(int intParam)
      method OverloadsJsonConverterer (line 1317) | public OverloadsJsonConverterer(long longParam)
      method OverloadsJsonConverterer (line 1322) | public OverloadsJsonConverterer(double doubleParam)
      method OverloadsJsonConverterer (line 1329) | public OverloadsJsonConverterer(params int[] intParams)
      method OverloadsJsonConverterer (line 1334) | public OverloadsJsonConverterer(bool[] intParams)
      method OverloadsJsonConverterer (line 1341) | public OverloadsJsonConverterer(IEnumerable<string> iEnumerableParam)
      method OverloadsJsonConverterer (line 1346) | public OverloadsJsonConverterer(IList<string> iListParam)
      method WriteJson (line 1351) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 1356) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 1361) | public override bool CanConvert(Type objectType)
    class OverloadWithTypeParameter (line 1368) | public class OverloadWithTypeParameter
    method JsonConverterConstructor_OverloadWithTypeParam (line 1374) | [Test]
    class OverloadWithUnhandledParameter (line 1383) | public class OverloadWithUnhandledParameter
    method JsonConverterConstructor_OverloadWithUnhandledParam_FallbackToObject (line 1389) | [Test]
    class OverloadWithIntParameter (line 1398) | public class OverloadWithIntParameter
    class OverloadWithUIntParameter (line 1404) | public class OverloadWithUIntParameter
    class OverloadWithLongParameter (line 1410) | public class OverloadWithLongParameter
    class OverloadWithULongParameter (line 1416) | public class OverloadWithULongParameter
    class OverloadWithShortParameter (line 1422) | public class OverloadWithShortParameter
    class OverloadWithUShortParameter (line 1428) | public class OverloadWithUShortParameter
    class OverloadWithSByteParameter (line 1434) | public class OverloadWithSByteParameter
    class OverloadWithByteParameter (line 1440) | public class OverloadWithByteParameter
    class OverloadWithCharParameter (line 1446) | public class OverloadWithCharParameter
    class OverloadWithBoolParameter (line 1452) | public class OverloadWithBoolParameter
    class OverloadWithFloatParameter (line 1458) | public class OverloadWithFloatParameter
    class OverloadWithDoubleParameter (line 1464) | public class OverloadWithDoubleParameter
    method JsonConverterConstructor_OverloadsWithPrimitiveParams (line 1470) | [Test]
    class OverloadWithArrayParameters (line 1553) | public class OverloadWithArrayParameters
    method JsonConverterConstructor_OverloadsWithArrayParams (line 1562) | [Test]
    class OverloadWithBaseType (line 1571) | public class OverloadWithBaseType
    method CustomDoubleRounding (line 1588) | [Test]
    class Measurements (line 1603) | public class Measurements
    class RoundingJsonConverter (line 1615) | public class RoundingJsonConverter : JsonConverter
      method RoundingJsonConverter (line 1620) | public RoundingJsonConverter()
      method RoundingJsonConverter (line 1625) | public RoundingJsonConverter(int precision)
      method RoundingJsonConverter (line 1630) | public RoundingJsonConverter(int precision, MidpointRounding rounding)
      method CanConvert (line 1641) | public override bool CanConvert(Type objectType)
      method ReadJson (line 1646) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 1651) | public override void WriteJson(JsonWriter writer, object value, Json...
    method GenericBaseClassSerialization (line 1657) | [Test]
    class GenericBaseClass (line 1664) | public class GenericBaseClass<O, T>
    class GenericIntermediateClass (line 1669) | public class GenericIntermediateClass<O> : GenericBaseClass<O, string>
    class NonGenericChildClass (line 1674) | public class NonGenericChildClass : GenericIntermediateClass<int>
    method ShouldNotPopulateReadOnlyEnumerableObjectWithNonDefaultConstructor (line 1678) | [Test]
    method ShouldNotPopulateReadOnlyEnumerableObjectWithDefaultConstructor (line 1685) | [Test]
    method ShouldNotPopulateContructorArgumentEnumerableObject (line 1692) | [Test]
    method ShouldNotPopulateEnumerableObjectProperty (line 1699) | [Test]
    method ShouldNotPopulateReadOnlyDictionaryObjectWithNonDefaultConstructor (line 1707) | [Test]
    class HasReadOnlyDictionary (line 1714) | public sealed class HasReadOnlyDictionary
      method HasReadOnlyDictionary (line 1719) | [JsonConstructor]
    class HasReadOnlyEnumerableObject (line 1727) | public sealed class HasReadOnlyEnumerableObject
      method HasReadOnlyEnumerableObject (line 1732) | [JsonConstructor]
    class HasReadOnlyEnumerableObjectAndDefaultConstructor (line 1739) | public sealed class HasReadOnlyEnumerableObjectAndDefaultConstructor
      method HasReadOnlyEnumerableObjectAndDefaultConstructor (line 1744) | [JsonConstructor]
    class AcceptsEnumerableObjectToConstructor (line 1751) | public sealed class AcceptsEnumerableObjectToConstructor
      method AcceptsEnumerableObjectToConstructor (line 1753) | [JsonConstructor]
    class HasEnumerableObject (line 1764) | public sealed class HasEnumerableObject
      method HasEnumerableObject (line 1769) | [JsonConstructor]
    class EnumerableWithConverter (line 1776) | [JsonConverter(typeof(Converter))]
      class Converter (line 1779) | public sealed class Converter : JsonConverter
        method CanConvert (line 1781) | public override bool CanConvert(Type objectType)
        method ReadJson (line 1784) | public override object ReadJson
        method WriteJson (line 1791) | public override void WriteJson
      method GetEnumerator (line 1799) | public IEnumerator<int> GetEnumerator()
      method GetEnumerator (line 1804) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
    method ShouldNotRequireIgnoredPropertiesWithItemsRequired (line 1807) | [Test]
    class ItemsRequiredObjectWithIgnoredProperty (line 1820) | [JsonObject(ItemRequired = Required.Always)]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs
  class ExceptionHandlingAsyncTests (line 49) | [Category("JsonTextReaderTests")]
    method ReadAsBytes_MissingCommaAsync (line 53) | [Test]
    method ReadAsInt32_MissingCommaAsync (line 69) | [Test]
    method ReadAsBoolean_MissingCommaAsync (line 83) | [Test]
    method ReadAsDateTime_MissingCommaAsync (line 97) | [Test]
    method ReadAsDateTimeOffset_MissingCommaAsync (line 112) | [Test]
    method ReadAsString_MissingCommaAsync (line 127) | [Test]
    method Read_MissingCommaAsync (line 141) | [Test]
    method UnexpectedEndAfterReadingNAsync (line 155) | [Test]
    method UnexpectedEndAfterReadingNuAsync (line 162) | [Test]
    method UnexpectedEndAfterReadingNeAsync (line 169) | [Test]
    method UnexpectedEndOfHexAsync (line 176) | [Test]
    method UnexpectedEndOfControlCharacterAsync (line 184) | [Test]
    method ReadInvalidNonBase10NumberAsync (line 192) | [Test]
    method ThrowErrorWhenParsingUnquoteStringThatStartsWithNEAsync (line 210) | [Test]
    method UnexpectedEndOfStringAsync (line 232) | [Test]
    method UnexpectedEndTokenWhenParsingOddEndTokenAsync (line 240) | [Test]
    method ResetJsonTextReaderErrorCountAsync (line 250) | [Test]
    method MatchWithInsufficentCharactersAsync (line 286) | [Test]
    method MatchWithWrongCharactersAsync (line 294) | [Test]
    method MatchWithNoTrailingSeparatorAsync (line 302) | [Test]
    method UnclosedCommentAsync (line 310) | [Test]
    method BadCommentStartAsync (line 318) | [Test]
    method MissingColonAsync (line 326) | [Test]
    method ParseConstructorWithBadCharacterAsync (line 347) | [Test]
    method ParseConstructorWithUnexpectedEndAsync (line 356) | [Test]
    method ParseConstructorWithUnexpectedCharacterAsync (line 365) | [Test]
    method ParseAdditionalContent_CommaAsync (line 374) | [Test]
    method ParseAdditionalContent_TextAsync (line 393) | [Test]
    method ParseAdditionalContent_WhitespaceThenTextAsync (line 425) | [Test]
    method ParseIncompleteCommentSeparatorAsync (line 440) | [Test]
    method ReadBadCharInArrayAsync (line 448) | [Test]
    method ReadAsBytesNoContentWrappedObjectAsync (line 458) | [Test]
    method ReadBytesEmptyWrappedObjectAsync (line 466) | [Test]
    method ReadIntegerWithErrorAsync (line 474) | [Test]
    method ReadIntegerWithErrorInArrayAsync (line 497) | [Test]
    method ReadBytesWithErrorAsync (line 526) | [Test]
    method ReadInt32OverflowAsync (line 555) | [Test]
    method ReadInt32Overflow_NegativeAsync (line 575) | [Test]
    method ReadInt64OverflowAsync (line 597) | [Test]
    method ReadInt64Overflow_NegativeAsync (line 617) | [Test]
    method ReadAsString_Null_AdditionalBadDataAsync (line 638) | [Test]
    method ReadAsBoolean_AdditionalBadDataAsync (line 648) | [Test]
    method ReadAsString_AdditionalBadDataAsync (line 658) | [Test]
    method ReadAsBoolean_UnexpectedEndAsync (line 668) | [Test]
    method ReadAsBoolean_BadDataAsync (line 678) | [Test]
    method ReadAsString_BadDataAsync (line 688) | [Test]
    method ReadAsDouble_BadDataAsync (line 698) | [Test]
    method ReadAsDouble_BooleanAsync (line 708) | [Test]
    method ReadAsBytes_BadDataAsync (line 718) | [Test]
    method ReadAsBytesIntegerArrayWithNoEndAsync (line 728) | [Test]
    method ReadAsBytesArrayWithBadContentAsync (line 736) | [Test]
    method ReadAsBytesBadContentAsync (line 744) | [Test]
    method ReadAsBytes_CommaErrorsAsync (line 752) | [Test]
    method ReadAsBytes_InvalidEndArrayAsync (line 767) | [Test]
    method ReadAsBytes_CommaErrors_MultipleAsync (line 778) | [Test]
    method ReadBytesWithBadCharacterAsync (line 794) | [Test]
    method ReadBytesWithUnexpectedEndAsync (line 802) | [Test]
    method ReadAsDateTime_BadDataAsync (line 813) | [Test]
    method ReadAsDateTime_BooleanAsync (line 823) | [Test]
    method ReadAsDateTimeOffsetBadContentAsync (line 834) | [Test]
    method ReadAsDecimalBadContentAsync (line 843) | [Test]
    method ReadAsDecimalBadContent_SecondLineAsync (line 851) | [Test]
    method ReadInt32WithBadCharacterAsync (line 860) | [Test]
    method ReadNumberValue_CommaErrorsAsync (line 868) | [Test]
    method ReadNumberValue_InvalidEndArrayAsync (line 883) | [Test]
    method ReadNumberValue_CommaErrors_MultipleAsync (line 894) | [Test]
    method ReadAsString_UnexpectedEndAsync (line 910) | [Test]
    method ReadAsString_Null_UnexpectedEndAsync (line 920) | [Test]
    method ReadStringValue_InvalidEndArrayAsync (line 930) | [Test]
    method ReadStringValue_CommaErrorsAsync (line 941) | [Test]
    method ReadStringValue_CommaErrors_MultipleAsync (line 956) | [Test]
    method ReadStringValue_Numbers_NotStringAsync (line 972) | [Test]
    method ErrorReadingCommentAsync (line 997) | [Test]
    method EscapedPathInExceptionMessageAsync (line 1007) | [Test]
    method MaxDepthAsync (line 1033) | [Test]
    method MaxDepthDoesNotRecursivelyErrorAsync (line 1048) | [Test]
    method UnexpectedEndWhenParsingUnquotedPropertyAsync (line 1097) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs
  class ExceptionHandlingTests (line 60) | [Category("JsonTextReaderTests")]
    method ReadAsBytes_MissingComma (line 64) | [Test]
    method ReadAsInt32_MissingComma (line 80) | [Test]
    method ReadAsBoolean_MissingComma (line 94) | [Test]
    method ReadAsDateTime_MissingComma (line 108) | [Test]
    method ReadAsDateTimeOffset_MissingComma (line 123) | [Test]
    method ReadAsString_MissingComma (line 138) | [Test]
    method Read_MissingComma (line 152) | [Test]
    method UnexpectedEndAfterReadingN (line 166) | [Test]
    method UnexpectedEndAfterReadingNu (line 173) | [Test]
    method UnexpectedEndAfterReadingNe (line 180) | [Test]
    method UnexpectedEndOfHex (line 187) | [Test]
    method UnexpectedEndOfControlCharacter (line 195) | [Test]
    method ReadInvalidNonBase10Number (line 203) | [Test]
    method ThrowErrorWhenParsingUnquoteStringThatStartsWithNE (line 221) | [Test]
    method UnexpectedEndOfString (line 243) | [Test]
    method UnexpectedEndTokenWhenParsingOddEndToken (line 251) | [Test]
    method ResetJsonTextReaderErrorCount (line 261) | [Test]
    method MatchWithInsufficentCharacters (line 297) | [Test]
    method MatchWithWrongCharacters (line 305) | [Test]
    method MatchWithNoTrailingSeparator (line 313) | [Test]
    method UnclosedComment (line 321) | [Test]
    method BadCommentStart (line 329) | [Test]
    method MissingColon (line 337) | [Test]
    method NullTextReader (line 358) | [Test]
    method ParseConstructorWithBadCharacter (line 371) | [Test]
    method ParseConstructorWithUnexpectedEnd (line 380) | [Test]
    method ParseConstructorWithUnexpectedCharacter (line 389) | [Test]
    method ParseAdditionalContent_Comma (line 398) | [Test]
    method ParseAdditionalContent_Text (line 417) | [Test]
    method ParseAdditionalContent_WhitespaceThenText (line 449) | [Test]
    method ParseIncompleteCommentSeparator (line 464) | [Test]
    method ReadBadCharInArray (line 472) | [Test]
    method ReadAsBytesNoContentWrappedObject (line 482) | [Test]
    method ReadBytesEmptyWrappedObject (line 490) | [Test]
    method ReadIntegerWithError (line 498) | [Test]
    method ReadIntegerWithErrorInArray (line 521) | [Test]
    method ReadBytesWithError (line 550) | [Test]
    method ReadInt32Overflow (line 579) | [Test]
    method ReadInt32Overflow_Negative (line 599) | [Test]
    method ReadInt64Overflow (line 621) | [Test]
    method ReadInt64Overflow_Negative (line 643) | [Test]
    method ReadAsString_Null_AdditionalBadData (line 664) | [Test]
    method ReadAsBoolean_AdditionalBadData (line 674) | [Test]
    method ReadAsString_AdditionalBadData (line 684) | [Test]
    method ReadAsBoolean_UnexpectedEnd (line 694) | [Test]
    method ReadAsBoolean_BadData (line 704) | [Test]
    method ReadAsString_BadData (line 714) | [Test]
    method ReadAsDouble_BadData (line 724) | [Test]
    method ReadAsDouble_Boolean (line 734) | [Test]
    method ReadAsBytes_BadData (line 744) | [Test]
    method ReadAsBytesIntegerArrayWithNoEnd (line 754) | [Test]
    method ReadAsBytesArrayWithBadContent (line 762) | [Test]
    method ReadAsBytesBadContent (line 770) | [Test]
    method ReadAsBytes_CommaErrors (line 778) | [Test]
    method ReadAsBytes_InvalidEndArray (line 793) | [Test]
    method ReadAsBytes_CommaErrors_Multiple (line 804) | [Test]
    method ReadBytesWithBadCharacter (line 820) | [Test]
    method ReadBytesWithUnexpectedEnd (line 828) | [Test]
    method ReadAsDateTime_BadData (line 839) | [Test]
    method ReadAsDateTime_Boolean (line 849) | [Test]
    method ReadAsDateTimeOffsetBadContent (line 860) | [Test]
    method ReadAsDecimalBadContent (line 869) | [Test]
    method ReadAsDecimalBadContent_SecondLine (line 877) | [Test]
    method ReadInt32WithBadCharacter (line 886) | [Test]
    method ReadNumberValue_CommaErrors (line 894) | [Test]
    method ReadNumberValue_InvalidEndArray (line 909) | [Test]
    method ReadNumberValue_CommaErrors_Multiple (line 920) | [Test]
    method ReadAsString_UnexpectedEnd (line 936) | [Test]
    method ReadAsString_Null_UnexpectedEnd (line 946) | [Test]
    method ReadStringValue_InvalidEndArray (line 956) | [Test]
    method ReadStringValue_CommaErrors (line 967) | [Test]
    method ReadStringValue_CommaErrors_Multiple (line 982) | [Test]
    method ReadStringValue_Numbers_NotString (line 998) | [Test]
    method ErrorReadingComment (line 1023) | [Test]
    method EscapedPathInExceptionMessage (line 1033) | [Test]
    method MaxDepth (line 1059) | [Test]
    method MaxDepthDoesNotRecursivelyError (line 1074) | [Test]
    method UnexpectedEndWhenParsingUnquotedProperty (line 1123) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatAsyncTests.cs
  class FloatAsyncTests (line 43) | [Category("JsonTextReaderTests")]
    method Float_ReadAsString_ExactAsync (line 47) | [Test]
    method Float_NaN_ReadAsync (line 60) | [Test]
    method Float_NaN_ReadAsInt32Async (line 78) | [Test]
    method Float_NaNAndInifinity_ReadAsDoubleAsync (line 91) | [Test]
    method Float_NaNAndInifinity_ReadAsStringAsync (line 120) | [Test]
    method FloatParseHandling_ReadAsStringAsync (line 149) | [Test]
    method FloatParseHandlingAsync (line 180) | [Test]
    method FloatParseHandling_NaNAsync (line 215) | [Test]
    method FloatingPointNonFiniteNumbersAsync (line 229) | [Test]
    method ReadFloatingPointNumberAsync (line 262) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs
  class FloatTests (line 62) | [Category("JsonTextReaderTests")]
    method Float_ReadAsString_Exact (line 66) | [Test]
    method Float_NaN_Read (line 79) | [Test]
    method Float_NaN_ReadAsInt32 (line 97) | [Test]
    method Float_NaNAndInifinity_ReadAsDouble (line 110) | [Test]
    method Float_NaNAndInifinity_ReadAsString (line 139) | [Test]
    method FloatParseHandling_ReadAsString (line 168) | [Test]
    method FloatParseHandling (line 199) | [Test]
    method FloatParseHandling_NaN (line 234) | [Test]
    method FloatingPointNonFiniteNumbers (line 248) | [Test]
    method ReadFloatingPointNumber (line 281) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs
  class MiscAsyncTests (line 47) | [Category("JsonTextReaderTests")]
    method ReadWithSupportMultipleContentCommaDelimitedAsync (line 51) | [Test]
    method LineInfoAndNewLinesAsync (line 104) | [Test]
    method UnescapeDoubleQuotesAsync (line 181) | [Test]
    method SurrogatePairValidAsync (line 213) | [Test]
    method SurrogatePairReplacementAsync (line 233) | [Test]
    method ReadStringAsync (line 268) | private async Task<string> ReadStringAsync(string input)
    method YahooFinanceAsync (line 278) | [Test]
    method DepthAsync (line 310) | [Test]
    method AppendCharsWhileReadingNullAsync (line 439) | [Test]
    method AppendCharsWhileReadingNewLineAsync (line 475) | [Test]
    method BufferTestAsync (line 508) | [Test]
    method BufferTest_WithErrorAsync (line 544) | [Test]
    method WriteReadWriteAsync (line 575) | [Test]
    method LongStringTestAsync (line 638) | [Test]
    method EscapedUnicodeTextAsync (line 661) | [Test]
    method SupportMultipleContentAsync (line 684) | [Test]
    method SingleLineCommentsAsync (line 750) | [Test]
    method JustSinglelineCommentAsync (line 887) | [Test]
    method ScientificNotationAsync (line 901) | [Test]
    method WriteReadBoundaryDecimalsAsync (line 964) | [Test]
    method LinePositionOnNewLineAsync (line 991) | [Test]
    method InvalidUnicodeSequenceAsync (line 1039) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs
  class MiscTests (line 61) | [Category("JsonTextReaderTests")]
    method ReadWithSupportMultipleContentCommaDelimited (line 65) | [Test]
    method LineInfoAndNewLines (line 118) | [Test]
    method UnescapeDoubleQuotes (line 195) | [Test]
    method SurrogatePairValid (line 227) | [Test]
    method SurrogatePairReplacement (line 247) | [Test]
    method ReadString (line 282) | private string ReadString(string input)
    method CloseInput (line 294) | [Test]
    method YahooFinance (line 312) | [Test]
    method Depth (line 344) | [Test]
    method AppendCharsWhileReadingNull (line 473) | [Test]
    method AppendCharsWhileReadingNewLine (line 509) | [Test]
    method BufferTest (line 542) | [Test]
    method BufferTest_WithError (line 578) | [Test]
    method WriteReadWrite (line 609) | [Test]
    method LongStringTest (line 672) | [Test]
    method EscapedUnicodeText (line 695) | [Test]
    method SupportMultipleContent (line 718) | [Test]
    method SingleLineComments (line 784) | [Test]
    method JustSinglelineComment (line 921) | [Test]
    method ScientificNotation (line 935) | [Test]
    method WriteReadBoundaryDecimals (line 1000) | [Test]
    method LinePositionOnNewLine (line 1028) | [Test]
    method DisposeSupressesFinalization (line 1077) | [Test]
    method InvalidUnicodeSequence (line 1086) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseAsyncTests.cs
  class ParseAsyncTests (line 46) | [Category("JsonTextReaderTests")]
    method ParseAdditionalContent_WhitespaceAsync (line 50) | [Test]
    method ParsingQuotedPropertyWithControlCharactersAsync (line 67) | [Test]
    method ParseIntegersAsync (line 83) | [Test]
    method ParseDecimalsAsync (line 123) | [Test]
    method ParseDoublesAsync (line 155) | [Test]
    method ParseArrayWithMissingValuesAsync (line 229) | [Test]
    method ParseBooleanWithNoExtraContentAsync (line 257) | [Test]
    method ParseContentDelimitedByNonStandardWhitespaceAsync (line 268) | [Test]
    method ParseObjectWithNoEndAsync (line 304) | [Test]
    method ParseEmptyArrayAsync (line 316) | [Test]
    method ParseEmptyObjectAsync (line 329) | [Test]
    method ParseEmptyConstructorAsync (line 342) | [Test]
    method ParseHexNumberAsync (line 355) | [Test]
    method ParseNumbersAsync (line 367) | [Test]
    method ParseLineFeedDelimitedConstructorAsync (line 393) | [Test]
    method ParseNullStringConstructorAsync (line 407) | [Test]
    method ParseOctalNumberAsync (line 424) | [Test]
    method DateParseHandlingAsync (line 436) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs
  class ParseTests (line 60) | [Category("JsonTextReaderTests")]
    method ParseAdditionalContent_Whitespace (line 64) | [Test]
    method ParsingQuotedPropertyWithControlCharacters (line 81) | [Test]
    method ParseIntegers (line 97) | [Test]
    method ParseDecimals (line 139) | [Test]
    method ParseDoubles (line 173) | [Test]
    method ParseArrayWithMissingValues (line 249) | [Test]
    method ParseBooleanWithNoExtraContent (line 277) | [Test]
    method ParseContentDelimitedByNonStandardWhitespace (line 288) | [Test]
    method ParseObjectWithNoEnd (line 324) | [Test]
    method ParseEmptyArray (line 336) | [Test]
    method ParseEmptyObject (line 349) | [Test]
    method ParseEmptyConstructor (line 362) | [Test]
    method ParseHexNumber (line 375) | [Test]
    method ParseNumbers (line 387) | [Test]
    method ParseLineFeedDelimitedConstructor (line 413) | [Test]
    method ParseNullStringConstructor (line 427) | [Test]
    method ParseOctalNumber (line 444) | [Test]
    method DateParseHandling (line 456) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs
  class ReadAsyncTests (line 55) | [Category("JsonTextReaderTests")]
    method Read_EmptyStream_ReturnsFalse (line 59) | [Test]
    method ReadAsInt32Async_IntegerTooLarge_ThrowsJsonReaderException (line 69) | [Test]
    method ReadAsDecimalAsync_IntegerTooLarge_ThrowsJsonReaderException (line 80) | [Test]
    method ReadAsInt32Async_BigIntegerValue_Success (line 93) | [Test]
    method ReadMissingInt64 (line 103) | [Test]
    method ReadAsInt32AsyncWithUndefined (line 124) | [Test]
    method ReadAsBooleanAsync (line 136) | [Test]
    method ReadAsBoolean_NullCharAsync (line 222) | [Test]
    method ReadAsBytesAsync (line 233) | [Test]
    method ReadAsBooleanNoContentAsync (line 247) | [Test]
    method ReadAsBytesIntegerArrayWithCommentsAsync (line 256) | [Test]
    method ReadUnicodeAsync (line 267) | [Test]
    method ReadHexidecimalWithAllLettersAsync (line 294) | [Test]
    method ReadLargeObjectsAsync (line 316) | [Test]
    method ReadSingleBytesAsync (line 374) | [Test]
    method ReadOctalNumberAsync (line 387) | [Test]
    method ReadOctalNumberAsInt64Async (line 414) | [Test]
    method ReadOctalNumberAsInt32Async (line 444) | [Test]
    method ReadAsDecimalNoContentAsync (line 474) | [Test]
    method ReadAsBytesNoContentAsync (line 483) | [Test]
    method ReadAsDateTimeOffsetNoContentAsync (line 492) | [Test]
    method ReadAsDateTimeOffsetAsync (line 501) | [Test]
    method ReadAsDateTimeOffsetNegativeAsync (line 523) | [Test]
    method ReadAsDateTimeOffsetBadStringAsync (line 545) | [Test]
    method ReadAsDateTimeOffsetHoursOnlyAsync (line 564) | [Test]
    method ReadAsDateTimeOffsetWithMinutesAsync (line 586) | [Test]
    method ReadAsDateTimeOffsetIsoDateAsync (line 608) | [Test]
    method ReadAsDateTimeOffsetUnitedStatesDateAsync (line 630) | [Test]
    method ReadAsDateTimeOffsetNewZealandDateAsync (line 655) | [Test]
    method ReadAsDecimalIntAsync (line 680) | [Test]
    method ReadAsIntDecimalAsync (line 699) | [Test]
    method ReadAsDecimalAsync (line 718) | [Test]
    method ReadAsDecimalFrenchAsync (line 740) | [Test]
    method ReadBufferOnControlCharAsync (line 763) | [Test]
    method ReadBufferOnEndCommentAsync (line 793) | [Test]
    method ReadAsDouble_NullAsync (line 823) | [Test]
    method ReadAsDouble_SuccessAsync (line 830) | [Test]
    method ReadAsDouble_HexAsync (line 837) | [Test]
    method ReadAsDouble_AllowThousandsAsync (line 844) | [Test]
    method ReadAsDouble_FailureAsync (line 851) | [Test]
    method ReadAsString_BooleanAsync (line 867) | [Test]
    method Read_Boolean_FailureAsync (line 882) | [Test]
    method ReadAsString_Boolean_FailureAsync (line 900) | [Test]
    method ReadValue_EmptyString_PositionAsync (line 918) | [Test]
    method ReadValueCommentsAsync (line 951) | [Test]
    method ReadContentDelimitedByCommentsAsync (line 1001) | [Test]
    method ReadNullIntLineNumberAndPositionAsync (line 1065) | [Test]
    method ReadingFromSlowStreamAsync (line 1103) | [Test]
    method ReadCommentInsideArrayAsync (line 1162) | [Test]
    method ReadAsBytes_Base64AndGuidAsync (line 1202) | [Test]
    method ReadSingleQuoteInsideDoubleQuoteStringAsync (line 1218) | [Test]
    method ReadMultilineStringAsync (line 1231) | [Test]
    method ReadBigIntegerAsync (line 1249) | [Test]
    method ReadBadMSDateAsStringAsync (line 1287) | [Test]
    method ReadConstructorAsync (line 1312) | [Test]
    method ReadingIndentedAsync (line 1338) | [Test]
    method ReadLongStringAsync (line 1417) | [Test]
    method ReadLongJsonArrayAsync (line 1427) | [Test]
    method NullCharReadingAsync (line 1455) | [Test]
    method ReadNullTerminatorStringsAsync (line 1502) | [Test]
    method ReadBytesNoStartWithUnexpectedEndAsync (line 1511) | [Test]
    method ReadNewLinesAsync (line 1521) | [Test]
    method ReadBytesFollowingNumberInArrayAsync (line 1586) | [Test]
    method ReadBytesFollowingNumberInObjectAsync (line 1606) | [Test]
    method ReadingEscapedStringsAsync (line 1628) | [Test]
    method ReadRandomJsonAsync (line 1659) | [Test]
    method AsyncMethodsAlreadyCancelled (line 1690) | [Test]
    class NoOverridesDerivedJsonTextAsync (line 1708) | private class NoOverridesDerivedJsonTextAsync : JsonTextReader
      method NoOverridesDerivedJsonTextAsync (line 1710) | public NoOverridesDerivedJsonTextAsync()
    class MinimalOverridesDerivedJsonReader (line 1716) | private class MinimalOverridesDerivedJsonReader : JsonReader
      method Read (line 1718) | public override bool Read() => true;
    method AsyncMethodsAlreadyCancelledOnTextReaderSubclass (line 1721) | [Test]
    method AsyncMethodsAlreadyCancelledOnReaderSubclass (line 1739) | [Test]
    method ThrowOnDuplicateKeysDeserializingAsync (line 1757) | [Test]
    method MaxDepth_GreaterThanDefaultAsync (line 1780) | [Test]
    method MaxDepth_NullAsync (line 1793) | [Test]
    method MaxDepth_MaxValueAsync (line 1806) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs
  class ReadTests (line 60) | [Category("JsonTextReaderTests")]
    method Read_EmptyStream_ReturnsFalse (line 64) | [Test]
    method ReadAsInt32_IntegerTooLarge_ThrowsJsonReaderException (line 74) | [Test]
    method ReadAsDecimal_IntegerTooLarge_ThrowsJsonReaderException (line 85) | [Test]
    method ReadAsInt32_BigIntegerValue_Success (line 98) | [Test]
    method ReadMissingInt64 (line 108) | [Test]
    method ReadAsInt32WithUndefined (line 129) | [Test]
    method ReadAsBoolean (line 141) | [Test]
    method ReadAsBoolean_NullChar (line 227) | [Test]
    method ReadAsBytes (line 238) | [Test]
    method ReadAsBooleanNoContent (line 252) | [Test]
    method ReadAsBytesIntegerArrayWithComments (line 261) | [Test]
    method ReadUnicode (line 272) | [Test]
    method ReadHexidecimalWithAllLetters (line 299) | [Test]
    method ReadLargeObjects (line 321) | [Test]
    method ReadSingleBytes (line 379) | [Test]
    method ReadOctalNumber (line 392) | [Test]
    method ReadOctalNumberAsInt64 (line 419) | [Test]
    method ReadOctalNumberAsInt32 (line 449) | [Test]
    method ReadAsDecimalNoContent (line 479) | [Test]
    method ReadAsBytesNoContent (line 488) | [Test]
    method ReadAsDateTimeOffsetNoContent (line 498) | [Test]
    method ReadAsDateTimeOffset (line 509) | [Test]
    method ReadAsDateTimeOffsetNegative (line 533) | [Test]
    method ReadAsDateTimeOffsetBadString (line 557) | [Test]
    method ReadAsDateTimeOffsetHoursOnly (line 575) | [Test]
    method ReadAsDateTimeOffsetWithMinutes (line 599) | [Test]
    method ReadAsDateTimeOffsetIsoDate (line 623) | [Test]
    method ReadAsDateTimeOffsetUnitedStatesDate (line 647) | [Test]
    method ReadAsDateTimeOffsetNewZealandDate (line 674) | [Test]
    method ReadAsDecimalInt (line 700) | [Test]
    method ReadAsIntDecimal (line 719) | [Test]
    method ReadAsDecimal (line 735) | [Test]
    method ReadAsDecimalFrench (line 757) | [Test]
    method ReadBufferOnControlChar (line 780) | [Test]
    method ReadBufferOnEndComment (line 810) | [Test]
    method ReadAsDouble_Null (line 840) | [Test]
    method ReadAsDouble_Success (line 847) | [Test]
    method ReadAsDouble_Hex (line 854) | [Test]
    method ReadAsDouble_AllowThousands (line 861) | [Test]
    method ReadAsDouble_Failure (line 868) | [Test]
    method ReadAsString_Boolean (line 883) | [Test]
    method Read_Boolean_Failure (line 898) | [Test]
    method ReadAsString_Boolean_Failure (line 915) | [Test]
    method ReadValue_EmptyString_Position (line 933) | [Test]
    method ReadValueComments (line 967) | [Test]
    method ReadContentDelimitedByComments (line 1017) | [Test]
    method ReadNullIntLineNumberAndPosition (line 1082) | [Test]
    method ReadingFromSlowStream (line 1120) | [Test]
    method ReadCommentInsideArray (line 1179) | [Test]
    method ReadAsBytes_Base64AndGuid (line 1219) | [Test]
    method ReadSingleQuoteInsideDoubleQuoteString (line 1235) | [Test]
    method ReadMultilineString (line 1248) | [Test]
    method ReadBigInteger (line 1268) | [Test]
    method ReadBadMSDateAsString (line 1307) | [Test]
    method ReadConstructor (line 1332) | [Test]
    method ReadingIndented (line 1358) | [Test]
    method ReadLongString (line 1437) | [Test]
    method ReadLongJsonArray (line 1447) | [Test]
    method NullCharReading (line 1473) | [Test]
    method ReadNullTerminatorStrings (line 1520) | [Test]
    method ReadBytesNoStartWithUnexpectedEnd (line 1529) | [Test]
    method ReadNewLines (line 1539) | [Test]
    method ReadBytesFollowingNumberInArray (line 1630) | [Test]
    method ReadBytesFollowingNumberInObject (line 1650) | [Test]
    method ReadingEscapedStrings (line 1672) | [Test]
    method ReadNewlineLastCharacter (line 1703) | [Test]
    method ReadRandomJson (line 1717) | [Test]
    method ThrowOnDuplicateKeysDeserializing (line 1748) | [Test]
    method MaxDepth_GreaterThanDefault (line 1774) | [Test]
    method MaxDepth_Null (line 1787) | [Test]
    method MaxDepth_MaxValue (line 1800) | [Test]

FILE: Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs
  class JsonTextWriterAsyncTests (line 49) | [TestFixture]
    class LazyStringWriter (line 52) | public class LazyStringWriter : StringWriter
      method LazyStringWriter (line 54) | public LazyStringWriter(IFormatProvider formatProvider) : base(forma...
      method FlushAsync (line 58) | public override Task FlushAsync()
      method WriteAsync (line 63) | public override Task WriteAsync(char value)
      method WriteAsync (line 68) | public override Task WriteAsync(char[] buffer, int index, int count)
      method WriteAsync (line 73) | public override Task WriteAsync(string value)
      method WriteLineAsync (line 78) | public override Task WriteLineAsync()
      method WriteLineAsync (line 83) | public override Task WriteLineAsync(char value)
      method WriteLineAsync (line 88) | public override Task WriteLineAsync(char[] buffer, int index, int co...
      method WriteLineAsync (line 93) | public override Task WriteLineAsync(string value)
      method DoDelay (line 98) | private async Task DoDelay(Task t)
    method WriteLazy (line 106) | [Test]
    method WriteLazy_Property (line 205) | [Test]
    method BufferTestAsync (line 232) | [Test]
    method BufferTest_WithErrorAsync (line 276) | [Test]
    method NewLineAsync (line 311) | [Test]
    method QuoteNameAndStringsAsync (line 337) | [Test]
    method CloseOutputAsync (line 355) | [Test]
    method WriteIConvertableAsync (line 374) | [Test]
    method ValueFormattingAsync (line 385) | [Test]
    method NullableValueFormattingAsync (line 416) | [Test]
    method WriteValueObjectWithNullableAsync (line 462) | [Test]
    method WriteValueObjectWithUnsupportedValueAsync (line 481) | [Test]
    method StringEscapingAsync (line 496) | [Test]
    method WriteEndAsync (line 518) | [Test]
    method CloseWithRemainingContentAsync (line 558) | [Test]
    method IndentingAsync (line 597) | [Test]
    method StateAsync (line 649) | [Test]
    method FloatingPointNonFiniteNumbers_SymbolAsync (line 692) | [Test]
    method FloatingPointNonFiniteNumbers_ZeroAsync (line 728) | [Test]
    method FloatingPointNonFiniteNumbers_StringAsync (line 776) | [Test]
    method FloatingPointNonFiniteNumbers_QuoteCharAsync (line 812) | [Test]
    method WriteRawInStartAsync (line 849) | [Test]
    method WriteRawInArrayAsync (line 875) | [Test]
    method WriteRawInObjectAsync (line 903) | [Test]
    method WriteTokenAsync (line 924) | [Test]
    method WriteRawValueAsync (line 939) | [Test]
    method WriteObjectNestedInConstructorAsync (line 966) | [Test]
    method WriteFloatingPointNumberAsync (line 990) | [Test]
    method WriteIntegerNumberAsync (line 1028) | [Test]
    method WriteTokenDirectAsync (line 1068) | [Test]
    method WriteTokenDirect_BadValueAsync (line 1088) | [Test]
    method WriteTokenNullCheckAsync (line 1111) | [Test]
    method TokenTypeOutOfRangeAsync (line 1121) | [Test]
    method BadWriteEndArrayAsync (line 1134) | [Test]
    method IndentationAsync (line 1154) | [Test]
    method WriteSingleBytesAsync (line 1201) | [Test]
    method WriteBytesInArrayAsync (line 1228) | [Test]
    method PathAsync (line 1263) | [Test]
    method DateTimeZoneHandlingAsync (line 1333) | [Test]
    method HtmlStringEscapeHandlingAsync (line 1347) | [Test]
    method NonAsciiStringEscapeHandlingAsync (line 1369) | [Test]
    method WriteEndOnPropertyAsync (line 1405) | [Test]
    method QuoteCharAsync (line 1419) | [Test]
    method CultureAsync (line 1461) | [Test]
    method CompareNewStringEscapingWithOldAsync (line 1488) | [Test]
    method WriteEscapedJavaScriptStringOld (line 1516) | private static void WriteEscapedJavaScriptStringOld(TextWriter writer,...
    method CustomJsonTextWriterTestsAsync (line 1650) | [Test]
    method QuoteDictionaryNamesAsync (line 1670) | [Test]
    method WriteCommentsAsync (line 1696) | [Test]
    method AsyncMethodsAlreadyCancelled (line 1744) | [Test]
    class NoOverridesDerivedJsonTextWriter (line 1813) | private class NoOverridesDerivedJsonTextWriter : JsonTextWriter
      method NoOverridesDerivedJsonTextWriter (line 1815) | public NoOverridesDerivedJsonTextWriter(TextWriter textWriter) : bas...
    class MinimalOverridesDerivedJsonWriter (line 1820) | private class MinimalOverridesDerivedJsonWriter : JsonWriter
      method Flush (line 1822) | public override void Flush()
    method AsyncMethodsAlreadyCancelledOnTextWriterSubclass (line 1827) | [Test]
    method AsyncMethodsAlreadyCancelledOnWriterSubclass (line 1896) | [Test]
    method FailureOnStartWriteProperty (line 1965) | [Test]
    method FailureOnStartWriteObject (line 1975) | [Test]
    class ThrowingWriter (line 1982) | public class ThrowingWriter : TextWriter
      method ThrowingWriter (line 1988) | public ThrowingWriter(params char[] throwChars)
      method WriteAsync (line 1997) | public override Task WriteAsync(char value)
      method WriteAsync (line 2003) | public override Task WriteAsync(char[] buffer, int index, int count)
      method WriteAsync (line 2016) | public override Task WriteAsync(string value)
      method Write (line 2021) | public override void Write(char value)
  class CustomAsyncJsonTextWriter (line 2028) | public class CustomAsyncJsonTextWriter : CustomJsonTextWriter
    method CustomAsyncJsonTextWriter (line 2030) | public CustomAsyncJsonTextWriter(TextWriter textWriter) : base(textWri...
    method WritePropertyNameAsync (line 2034) | public override Task WritePropertyNameAsync(string name, CancellationT...
    method WritePropertyNameAsync (line 2039) | public override async Task WritePropertyNameAsync(string name, bool es...
    method WriteNullAsync (line 2058) | public override async Task WriteNullAsync(CancellationToken cancellati...
    method WriteStartObjectAsync (line 2065) | public override async Task WriteStartObjectAsync(CancellationToken can...
    method WriteEndObjectAsync (line 2072) | public override Task WriteEndObjectAsync(CancellationToken cancellatio...
    method WriteEndAsync (line 2077) | protected override Task WriteEndAsync(JsonToken token, CancellationTok...

FILE: Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs
  class JsonTextWriterTest (line 56) | [TestFixture]
    method BufferTest (line 59) | [Test]
    method BufferTest_WithError (line 103) | [Test]
    method BufferErroringWithInvalidSize (line 140) | [Test]
    method NewLine (line 166) | [Test]
    method QuoteNameAndStrings (line 192) | [Test]
    method CloseOutput (line 210) | [Test]
    method WriteIConvertable (line 229) | [Test]
    method ValueFormatting (line 240) | [Test]
    method NullableValueFormatting (line 271) | [Test]
    method WriteValueObjectWithNullable (line 325) | [Test]
    method WriteValueObjectWithUnsupportedValue (line 344) | [Test]
    method StringEscaping (line 359) | [Test]
    method WriteEnd (line 381) | [Test]
    method CloseWithRemainingContent (line 421) | [Test]
    method Indenting (line 460) | [Test]
    method State (line 512) | [Test]
    method FloatingPointNonFiniteNumbers_Symbol (line 555) | [Test]
    method FloatingPointNonFiniteNumbers_Zero (line 591) | [Test]
    method FloatingPointNonFiniteNumbers_String (line 639) | [Test]
    method FloatingPointNonFiniteNumbers_QuoteChar (line 675) | [Test]
    method WriteRawInStart (line 712) | [Test]
    method WriteRawInArray (line 738) | [Test]
    method WriteRawInObject (line 766) | [Test]
    method WriteToken (line 787) | [Test]
    method WriteRawValue (line 801) | [Test]
    method WriteObjectNestedInConstructor (line 828) | [Test]
    method WriteFloatingPointNumber (line 852) | [Test]
    method WriteIntegerNumber (line 891) | [Test]
    method WriteTokenDirect (line 937) | [Test]
    method WriteTokenDirect_BadValue (line 959) | [Test]
    method WriteTokenNullCheck (line 982) | [Test]
    method TokenTypeOutOfRange (line 992) | [Test]
    method BadWriteEndArray (line 1005) | [Test]
    method InvalidQuoteChar (line 1025) | [Test]
    method Indentation (line 1041) | [Test]
    method WriteSingleBytes (line 1088) | [Test]
    method WriteBytesInArray (line 1115) | [Test]
    method Path (line 1150) | [Test]
    method BuildStateArray (line 1223) | [Test]
    method GetValues (line 1248) | private static IList<object> GetValues(Type enumType)
    method DateTimeZoneHandling (line 1266) | [Test]
    method HtmlStringEscapeHandling (line 1280) | [Test]
    method NonAsciiStringEscapeHandling (line 1302) | [Test]
    method WriteEndOnProperty (line 1338) | [Test]
    method WriteEndOnProperty_Close (line 1352) | [Test]
    method WriteEndOnProperty_Dispose (line 1366) | [Test]
    method AutoCompleteOnClose_False (line 1381) | [Test]
    method QuoteChar (line 1398) | [Test]
    method Culture (line 1440) | [Test]
    method CompareNewStringEscapingWithOld (line 1468) | [Test]
    method WriteEscapedJavaScriptStringOld (line 1496) | private static void WriteEscapedJavaScriptStringOld(TextWriter writer,...
    method CustomJsonTextWriterTests (line 1630) | [Test]
    method QuoteDictionaryNames (line 1650) | [Test]
    method WriteComments (line 1676) | [Test]
    method NewlinesInSingleLineComments (line 1725) | [Test]
    method DisposeSupressesFinalization (line 1739) | [Test]
  class CustomJsonTextWriter (line 1749) | public class CustomJsonTextWriter : JsonTextWriter
    method CustomJsonTextWriter (line 1753) | public CustomJsonTextWriter(TextWriter textWriter) : base(textWriter)
    method WritePropertyName (line 1758) | public override void WritePropertyName(string name)
    method WritePropertyName (line 1763) | public override void WritePropertyName(string name, bool escape)
    method WriteNull (line 1782) | public override void WriteNull()
    method WriteStartObject (line 1789) | public override void WriteStartObject()
    method WriteEndObject (line 1796) | public override void WriteEndObject()
    method WriteEnd (line 1801) | protected override void WriteEnd(JsonToken token)
  class UnmanagedResourceFakingJsonWriter (line 1814) | public class UnmanagedResourceFakingJsonWriter : JsonWriter
    method CreateAndDispose (line 1818) | public static void CreateAndDispose()
    method UnmanagedResourceFakingJsonWriter (line 1823) | public UnmanagedResourceFakingJsonWriter()
    method Dispose (line 1828) | protected override void Dispose(bool disposing)
    method Flush (line 1839) | public override void Flush()

FILE: Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs
  class JsonValidatingReaderTests (line 53) | [TestFixture]
    method CheckInnerReader (line 56) | [Test]
    method ValidateTypes (line 66) | [Test]
    method ValidateUnrestrictedArray (line 146) | [Test]
    method StringLessThanMinimumLength (line 219) | [Test]
    method StringGreaterThanMaximumLength (line 243) | [Test]
    method StringIsNotInEnum (line 267) | [Test]
    method StringDoesNotMatchPattern (line 308) | [Test]
    method IntegerGreaterThanMaximumValue (line 332) | [Test]
    method IntegerGreaterThanMaximumValue_BigInteger (line 357) | [Test]
    method IntegerLessThanMaximumValue_BigInteger (line 381) | [Test]
    method ThrowExceptionWhenNoValidationEventHandler (line 401) | [Test]
    method IntegerLessThanMinimumValue (line 418) | [Test]
    method IntegerIsNotInEnum (line 441) | [Test]
    method FloatGreaterThanMaximumValue (line 482) | [Test]
    method FloatLessThanMinimumValue (line 505) | [Test]
    method FloatIsNotInEnum (line 528) | [Test]
    method FloatDivisibleBy (line 569) | [Test]
    method BigIntegerDivisibleBy_Success (line 610) | [Test]
    method BigIntegerDivisibleBy_Failure (line 640) | [Test]
    method BigIntegerDivisibleBy_Fraction (line 673) | [Test]
    method BigIntegerDivisibleBy_FractionWithZeroValue (line 705) | [Test]
    method IntValidForNumber (line 726) | [Test]
    method NullNotInEnum (line 756) | [Test]
    method BooleanNotInEnum (line 790) | [Test]
    method ArrayCountGreaterThanMaximumItems (line 828) | [Test]
    method ArrayCountLessThanMinimumItems (line 864) | [Test]
    method InvalidDataType (line 894) | [Test]
    method StringDisallowed (line 919) | [Test]
    method MissingRequiredProperties (line 955) | [Test]
    method MissingNonRequiredProperties (line 997) | [Test]
    method DisableAdditionalProperties (line 1037) | [Test]
    method ExtendsStringGreaterThanMaximumLength (line 1094) | [Test]
    method GetExtendedSchema (line 1127) | private JsonSchema GetExtendedSchema()
    method ExtendsDisallowAdditionProperties (line 1157) | [Test]
    method ExtendsMissingRequiredProperties (line 1215) | [Test]
    method NoAdditionalItems (line 1236) | [Test]
    method PatternPropertiesNoAdditionalProperties (line 1274) | [Test]
    method ExtendedComplex (line 1337) | [Test]
    method DuplicateErrorsTest (line 1475) | [Test]
    method ReadAsBytes (line 1591) | [Test]
    method ReadAsInt32 (line 1607) | [Test]
    method ReadAsInt32Failure (line 1621) | [Test]
    method ReadAsDecimal (line 1637) | [Test]
    method ReadAsDecimalFailure (line 1651) | [Test]
    method ReadAsInt32FromSerializer (line 1667) | [Test]
    method ReadAsInt32InArray (line 1680) | [Test]
    method ReadAsInt32InArrayIncomplete (line 1716) | [Test]
    method CloseAlsoClosesUnderlyingReader (line 1751) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/AnnotationsTests.cs
  class AnnotationsTests (line 21) | [TestFixture]
    method AddAnnotation (line 24) | [Test]
    method AddAnnotation_MultipleOfTheSameType (line 37) | [Test]
    method AddAnnotation_MultipleOfDifferentTypes (line 51) | [Test]
    method GetAnnotation_NeverSet (line 71) | [Test]
    method GetAnnotations (line 83) | [Test]
    method GetAnnotations_MultipleTypes (line 106) | [Test]
    method RemoveAnnotation (line 132) | [Test]
    method RemoveAnnotation_NonGeneric (line 144) | [Test]
    method RemoveAnnotation_Multiple (line 159) | [Test]
    method RemoveAnnotation_MultipleCalls (line 181) | [Test]
    method RemoveAnnotation_Multiple_NonGeneric (line 198) | [Test]
    method RemoveAnnotation_MultipleCalls_NonGeneric (line 211) | [Test]
    method RemoveAnnotation_MultipleWithDifferentTypes (line 228) | [Test]
    method RemoveAnnotation_MultipleWithDifferentTypes_NonGeneric (line 244) | [Test]
    method AnnotationsAreCopied (line 260) | [Test]
    method MultipleAnnotationsAreCopied (line 288) | [Test]
    method NestedAnnotationsAreCopied (line 306) | [Test]
    method NestedAnnotationsAreCopiedWithDefault (line 330) | [Test]
    method NestedAnnotationsAreNotCopiedWithSettingsCopyAnnotationsFalse (line 355) | [Test]
    method AssertCloneCopy (line 380) | private void AssertCloneCopy<T>(JToken t, T annotation) where T : class
    method MultipleAnnotationsAreNotCopiedWithSetting (line 385) | [Test]
    method Example (line 441) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/ComponentModel/BindingTests.cs
  class BindingTests (line 33) | [TestFixture]
    method DataBinderEval (line 36) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs
  class JPropertyDescriptorTests (line 38) | [TestFixture]
    method GetValue (line 41) | [Test]
    method GetValue_NullOwner_ReturnsNull (line 53) | [Test]
    method SetValue (line 61) | [Test]
    method SetValue_NullOwner_NoError (line 73) | [Test]
    method ResetValue (line 81) | [Test]
    method IsReadOnly (line 92) | [Test]
    method PropertyType (line 100) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs
  class DynamicTests (line 49) | [TestFixture]
    method AccessPropertyValue (line 52) | [Test]
    method PropertyDoesNotEqualNull (line 67) | [Test]
    method UpdateValueCount (line 81) | private void UpdateValueCount(IDictionary<string, int> counts, dynamic d)
    method DeserializeLargeDynamic (line 95) | [Test]
    method JObjectPropertyNames (line 132) | [Test]
    method JObjectCount (line 162) | [Test]
    method JObjectEnumerator (line 179) | [Test]
    method JObjectPropertyNameWithJArray (line 200) | [Test]
    method JObjectPropertyNameWithNonToken (line 214) | [Test]
    method JObjectMethods (line 225) | [Test]
    method JValueEquals (line 245) | [Test]
    method JValueAddition (line 354) | [Test]
    method JValueToString (line 689) | [Test]
    method JObjectGetDynamicPropertyNames (line 725) | [Test]
    method JValueConvert (line 753) | [Test]
    method AssertValueConverted (line 810) | private static void AssertValueConverted<T>(object value)
    method AssertValueConverted (line 815) | private static void AssertValueConverted<T>(object value, object expec...
    method DynamicSerializerExample (line 824) | [Test]
    method DynamicLinqExample (line 849) | [Test]
    method ImprovedDynamicLinqExample (line 872) | [Test]
    method DynamicAccess_ToJToken_ShouldNotFail (line 907) | [Test]
    method DynamicAccess_ToJTokenExplicit_ShouldNotFail (line 917) | [Test]
    method DynamicAccess_ToJTokenSafeCast_ShouldNotFail (line 927) | [Test]
    method IndexAccess_ToJToken_ShouldNotFail (line 937) | [Test]
    method DynamicAccess_ToJToken_ShouldFail (line 947) | [Test]
  class DynamicDictionary (line 959) | public class DynamicDictionary : DynamicObject
    method GetDynamicMemberNames (line 963) | public override IEnumerable<string> GetDynamicMemberNames()
    method TryGetMember (line 968) | public override bool TryGetMember(GetMemberBinder binder, out object r...
    method TrySetMember (line 974) | public override bool TrySetMember(SetMemberBinder binder, object value)

FILE: Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs
  class JArrayTests (line 46) | [TestFixture]
    method RemoveSpecificAndRemoveSelf (line 49) | [Test]
    method Clear (line 69) | [Test]
    method AddToSelf (line 79) | [Test]
    method Contains (line 88) | [Test]
    method GenericCollectionCopyTo (line 101) | [Test]
    method GenericCollectionCopyToNullArrayShouldThrow (line 125) | [Test]
    method GenericCollectionCopyToNegativeArrayIndexShouldThrow (line 136) | [Test]
    method GenericCollectionCopyToArrayIndexEqualGreaterToArrayLengthShouldThrow (line 147) | [Test]
    method GenericCollectionCopyToInsufficientArrayCapacity (line 155) | [Test]
    method Remove (line 166) | [Test]
    method IndexOf (line 183) | [Test]
    method RemoveAt (line 210) | [Test]
    method RemoveAtOutOfRangeIndexShouldError (line 234) | [Test]
    method RemoveAtNegativeIndexShouldError (line 246) | [Test]
    method Insert (line 258) | [Test]
    method AddFirstAddedTokenShouldBeFirst (line 279) | [Test]
    method InsertShouldInsertAtZeroIndex (line 303) | [Test]
    method InsertNull (line 319) | [Test]
    method InsertNegativeIndexShouldThrow (line 328) | [Test]
    method InsertOutOfRangeIndexShouldThrow (line 340) | [Test]
    method Item (line 352) | [Test]
    method Parse_ShouldThrowOnUnexpectedToken (line 374) | [Test]
    class ListItemFields (line 382) | public class ListItemFields
    method ArrayOrder (line 388) | [Test]
    method Iterate (line 437) | [Test]
    method ITypedListGetItemProperties (line 451) | [Test]
    method AddArrayToSelf (line 466) | [Test]
    method SetValueWithInvalidIndex (line 478) | [Test]
    method SetValue (line 488) | [Test]
    method ReplaceAll (line 499) | [Test]
    method ParseIncomplete (line 513) | [Test]
    method InsertAddEnd (line 519) | [Test]
    method ParseAdditionalContent (line 531) | [Test]
    method ToListOnEmptyArray (line 543) | [Test]
    method Parse_NoComments (line 559) | [Test]
    method Parse_ExcessiveContentJustComments (line 593) | [Test]
    method Parse_ExcessiveContent (line 607) | [Test]
    method Parse_LineInfo (line 618) | [Test]
    method Index_Get_Index (line 652) | [Test]
    method Index_Set_Index (line 668) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JConstructorAsyncTests.cs
  class JConstructorAsyncTests (line 42) | [TestFixture]
    method LoadAsync (line 45) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JConstructorTests.cs
  class JConstructorTests (line 46) | [TestFixture]
    method Load (line 49) | [Test]
    method CreateWithMultiValue (line 60) | [Test]
    method Iterate (line 71) | [Test]
    method SetValueWithInvalidIndex (line 84) | [Test]
    method SetValue (line 94) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JObjectAsyncTests.cs
  class JObjectAsyncTests (line 43) | [TestFixture]
    method ReadWithSupportMultipleContentAsync (line 46) | [Test]
    method JTokenReaderAsync (line 73) | [Test]
    method LoadFromNestedObjectAsync (line 114) | [Test]
    method LoadFromNestedObjectIncompleteAsync (line 143) | [Test]
    method ParseMultipleProperties_EmptySettingsAsync (line 166) | [Test]
    method ParseMultipleProperties_IgnoreDuplicateSettingAsync (line 181) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs
  class JObjectTests (line 58) | [TestFixture]
    method EmbedJValueStringInNewJObject (line 62) | [Test]
    method ReadWithSupportMultipleContent (line 80) | [Test]
    method JObjectWithComments (line 107) | [Test]
    method WritePropertyWithNoValue (line 126) | [Test]
    method Keys (line 137) | [Test]
    method TryGetValue (line 150) | [Test]
    method DictionaryItemShouldSet (line 168) | [Test]
    method Remove (line 192) | [Test]
    method GenericCollectionRemove (line 206) | [Test]
    method DuplicatePropertyNameShouldThrow (line 222) | [Test]
    method GenericDictionaryAdd (line 233) | [Test]
    method GenericCollectionAdd (line 247) | [Test]
    method GenericCollectionClear (line 257) | [Test]
    method GenericCollectionContains (line 272) | [Test]
    method Contains (line 296) | [Test]
    method GenericDictionaryContains (line 319) | [Test]
    method GenericCollectionCopyTo (line 330) | [Test]
    method GenericCollectionCopyToNullArrayShouldThrow (line 357) | [Test]
    method GenericCollectionCopyToNegativeArrayIndexShouldThrow (line 370) | [Test]
    method GenericCollectionCopyToArrayIndexEqualGreaterToArrayLengthShouldThrow (line 383) | [Test]
    method GenericCollectionCopyToInsufficientArrayCapacity (line 393) | [Test]
    method FromObjectRaw (line 407) | [Test]
    method JTokenReader (line 425) | [Test]
    method DeserializeFromRaw (line 466) | [Test]
    method Parse_ShouldThrowOnUnexpectedToken (line 487) | [Test]
    method ParseJavaScriptDate (line 497) | [Test]
    method GenericValueCast (line 508) | [Test]
    method Blog (line 522) | [Test]
    method RawChildValues (line 531) | [Test]
    method Iterate (line 546) | [Test]
    method KeyValuePairIterate (line 565) | [Test]
    method WriteObjectNullStringValue (line 582) | [Test]
    method Example (line 600) | [Test]
    method DeserializeClassManually (line 628) | [Test]
    method JObjectContainingHtml (line 664) | [Test]
    method ImplicitValueConversions (line 679) | [Test]
    method ReplaceJPropertyWithJPropertyWithSameName (line 713) | [Test]
    method PropertyChanging (line 747) | [Test]
    method PropertyChanged (line 807) | [Test]
    method IListContains (line 848) | [Test]
    method IListIndexOf (line 858) | [Test]
    method IListClear (line 868) | [Test]
    method IListCopyTo (line 881) | [Test]
    method IListAdd (line 896) | [Test]
    method IListAddBadToken (line 911) | [Test]
    method IListAddBadValue (line 924) | [Test]
    method IListAddPropertyWithExistingName (line 937) | [Test]
    method IListRemove (line 952) | [Test]
    method IListRemoveAt (line 976) | [Test]
    method IListInsert (line 993) | [Test]
    method IListIsReadOnly (line 1010) | [Test]
    method IListIsFixedSize (line 1017) | [Test]
    method IListSetItem (line 1024) | [Test]
    method IListSetItemAlreadyExists (line 1039) | [Test]
    method IListSetItemInvalid (line 1055) | [Test]
    method IListSyncRoot (line 1068) | [Test]
    method IListIsSynchronized (line 1078) | [Test]
    method GenericListJTokenContains (line 1088) | [Test]
    method GenericListJTokenIndexOf (line 1098) | [Test]
    method GenericListJTokenClear (line 1108) | [Test]
    method GenericListJTokenCopyTo (line 1121) | [Test]
    method GenericListJTokenAdd (line 1136) | [Test]
    method GenericListJTokenAddBadToken (line 1151) | [Test]
    method GenericListJTokenAddBadValue (line 1164) | [Test]
    method GenericListJTokenAddPropertyWithExistingName (line 1178) | [Test]
    method GenericListJTokenRemove (line 1193) | [Test]
    method GenericListJTokenRemoveAt (line 1217) | [Test]
    method GenericListJTokenInsert (line 1234) | [Test]
    method GenericListJTokenIsReadOnly (line 1251) | [Test]
    method GenericListJTokenSetItem (line 1258) | [Test]
    method GenericListJTokenSetItemAlreadyExists (line 1273) | [Test]
    method IBindingListSortDirection (line 1290) | [Test]
    method IBindingListSortProperty (line 1297) | [Test]
    method IBindingListSupportsChangeNotification (line 1304) | [Test]
    method IBindingListSupportsSearching (line 1311) | [Test]
    method IBindingListSupportsSorting (line 1318) | [Test]
    method IBindingListAllowEdit (line 1325) | [Test]
    method IBindingListAllowNew (line 1332) | [Test]
    method IBindingListAllowRemove (line 1339) | [Test]
    method IBindingListAddIndex (line 1346) | [Test]
    method IBindingListApplySort (line 1354) | [Test]
    method IBindingListRemoveSort (line 1364) | [Test]
    method IBindingListRemoveIndex (line 1374) | [Test]
    method IBindingListFind (line 1382) | [Test]
    method IBindingListIsSorted (line 1392) | [Test]
    method IBindingListAddNew (line 1399) | [Test]
    method IBindingListAddNewWithEvent (line 1409) | [Test]
    method ITypedListGetListName (line 1424) | [Test]
    method ITypedListGetItemProperties (line 1434) | [Test]
    method ListChanged (line 1445) | [Test]
    method CollectionChanged (line 1485) | [Test]
    method GetGeocodeAddress (line 1524) | [Test]
    method SetValueWithInvalidPropertyName (line 1578) | [Test]
    method SetValue (line 1588) | [Test]
    method ParseMultipleProperties (line 1599) | [Test]
    method ParseMultipleProperties_EmptySettings (line 1613) | [Test]
    method ParseMultipleProperties_IgnoreDuplicateSetting (line 1627) | [Test]
    method ParseMultipleProperties_ReplaceDuplicateSetting (line 1644) | [Test]
    method WriteObjectNullDBNullValue (line 1662) | [Test]
    method InvalidValueCastExceptionMessage (line 1681) | [Test]
    method InvalidPropertyValueCastExceptionMessage (line 1698) | [Test]
    method ParseIncomplete (line 1715) | [Test]
    method LoadFromNestedObject (line 1721) | [Test]
    method LoadFromNestedObjectIncomplete (line 1750) | [Test]
    method GetProperties (line 1774) | [Test]
    method ParseEmptyObjectWithComment (line 1814) | [Test]
    method FromObjectTimeSpan (line 1821) | [Test]
    method FromObjectUri (line 1830) | [Test]
    method FromObjectGuid (line 1839) | [Test]
    method ParseAdditionalContent (line 1848) | [Test]
    method DeepEqualsIgnoreOrder (line 1868) | [Test]
    method ToListOnEmptyObject (line 1918) | [Test]
    method EmptyObjectDeepEquals (line 1937) | [Test]
    method GetValueBlogExample (line 1952) | [Test]
    method GetValue (line 1970) | [Test]
    class FooJsonConverter (line 2002) | public class FooJsonConverter : JsonConverter
      method WriteJson (line 2004) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 2022) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method CanConvert (line 2032) | public override bool CanConvert(Type objectType)
    method FromObjectInsideConverterWithCustomSerializer (line 2038) | [Test]
    method Parse_NoComments (line 2057) | [Test]
    method Parse_ExcessiveContentJustComments (line 2073) | [Test]
    method Parse_ExcessiveContent (line 2087) | [Test]
    method GetPropertyOwner_ReturnsJObject (line 2099) | [Test]
    method Property (line 2121) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JPropertyAsyncTests.cs
  class JPropertyAsyncTests (line 41) | [TestFixture]
    method LoadAsync (line 44) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs
  class JPropertyTests (line 47) | [TestFixture]
    method NullValue (line 50) | [Test]
    method ListChanged (line 65) | [Test]
    method IListCount (line 87) | [Test]
    method IListClear (line 96) | [Test]
    method IListAdd (line 105) | [Test]
    method IListRemove (line 114) | [Test]
    method IListRemoveAt (line 123) | [Test]
    method JPropertyLinq (line 132) | [Test]
    method JPropertyDeepEquals (line 142) | [Test]
    method JPropertyIndexOf (line 151) | [Test]
    method JPropertyContains (line 164) | [Test]
    method Load (line 174) | [Test]
    method MultiContentConstructor (line 202) | [Test]
    method IListGenericAdd (line 213) | [Test]
    method NullParent (line 221) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JRawTests.cs
  class JRawTests (line 37) | [TestFixture]
    method RawEquals (line 40) | [Test]
    method RawClone (line 51) | [Test]
    method RawToObject (line 60) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JTokenAsyncTests.cs
  class JTokenAsyncTests (line 44) | [TestFixture]
    method ReadFromAsync (line 47) | [Test]
    method LoadAsync (line 87) | [Test]
    method CreateWriterAsync (line 94) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JTokenEqualityComparerTests.cs
  class JTokenEqualityComparerTests (line 38) | [TestFixture]
    method CompareEmptyProperties (line 41) | [Test]
    method JValueDictionary (line 57) | [Test]
    method JArrayDictionary (line 69) | [Test]
    method JObjectDictionary (line 81) | [Test]
    method JConstructorDictionary (line 93) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs
  class JTokenReaderAsyncTests (line 48) | [TestFixture]
    method ConvertBigIntegerToDoubleAsync (line 52) | [Test]
    method YahooFinanceAsync (line 65) | [Test]
    method ReadAsDateTimeOffsetBadStringAsync (line 142) | [Test]
    method ReadAsDateTimeOffsetBooleanAsync (line 160) | [Test]
    method ReadAsDateTimeOffsetStringAsync (line 178) | [Test]
    method ReadLineInfoAsync (line 199) | [Test]
    method ReadBytesAsync (line 300) | [Test]
    method ReadBytesFailureAsync (line 330) | [Test]
    class HasBytes (line 354) | public class HasBytes
    method ReadAsDecimalIntAsync (line 359) | [Test]
    method ReadAsInt32IntAsync (line 380) | [Test]
    method ReadAsInt32BadStringAsync (line 404) | [Test]
    method ReadAsInt32BooleanAsync (line 422) | [Test]
    method ReadAsDecimalStringAsync (line 440) | [Test]
    method ReadAsDecimalBadStringAsync (line 461) | [Test]
    method ReadAsDecimalBooleanAsync (line 479) | [Test]
    method ReadAsDecimalNullAsync (line 497) | [Test]
    method InitialPath_PropertyBase_PropertyTokenAsync (line 518) | [Test]
    method InitialPath_ArrayBase_PropertyTokenAsync (line 546) | [Test]
    method InitialPath_PropertyBase_ArrayTokenAsync (line 574) | [Test]
    method InitialPath_ArrayBase_ArrayTokenAsync (line 602) | [Test]
    method ReadAsDouble_InvalidTokenAsync (line 630) | [Test]
    method ReadAsBoolean_InvalidTokenAsync (line 645) | [Test]
    method ReadAsDateTime_InvalidTokenAsync (line 660) | [Test]
    method ReadAsDateTimeOffset_InvalidTokenAsync (line 675) | [Test]
    method ReadAsDateTimeOffset_DateTimeAsync (line 690) | [Test]
    method ReadAsDateTimeOffset_StringAsync (line 700) | [Test]
    method ReadAsDateTime_DateTimeOffsetAsync (line 710) | [Test]
    method ReadAsDateTime_StringAsync (line 720) | [Test]
    method ReadAsDouble_String_SuccessAsync (line 730) | [Test]
    method ReadAsDouble_Null_SuccessAsync (line 740) | [Test]
    method ReadAsDouble_Integer_SuccessAsync (line 750) | [Test]
    method ReadAsBoolean_BigInteger_SuccessAsync (line 761) | [Test]
    method ReadAsBoolean_String_SuccessAsync (line 772) | [Test]
    method ReadAsBoolean_Null_SuccessAsync (line 782) | [Test]
    method ReadAsBoolean_Integer_SuccessAsync (line 792) | [Test]
    method ReadAsDateTime_Null_SuccessAsync (line 802) | [Test]
    method ReadAsDateTimeOffset_Null_SuccessAsync (line 812) | [Test]
    method ReadAsString_Integer_SuccessAsync (line 822) | [Test]
    method ReadAsString_Guid_SuccessAsync (line 832) | [Test]
    method ReadAsBytes_Integer_SuccessAsync (line 842) | [Test]
    method ReadAsBytes_ArrayAsync (line 852) | [Test]
    method ReadAsBytes_NullAsync (line 869) | [Test]

FILE: Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs
  class JTokenReaderTest (line 47) | [TestFixture]
    method ConvertBigIntegerToDouble (line 51) | [Test]
    method ConvertBigIntegerToDecimal (line 63) | [Test]
    method ErrorTokenIndex (line 76) | [Test]
    method YahooFinance (line 90) | [Test]
    method ReadAsDateTimeOffsetBadString (line 167) | [Test]
    method ReadAsDateTimeOffsetBoolean (line 185) | [Test]
    method ReadAsDateTimeOffsetString (line 203) | [Test]
    method ReadLineInfo (line 225) | [Test]
    method ReadBytes (line 326) | [Test]
    method ReadBytesFailure (line 356) | [Test]
    class HasBytes (line 380) | public class HasBytes
    method ReadBytesFromString (line 385) | [Test]
    method ReadBytesFromEmptyString (line 404) | [Test]
    class ReadAsBytesTestObject (line 423) | public class ReadAsBytesTestObject
    method ReadAsBytesNull (line
Copy disabled (too large) Download .json
Condensed preview — 1163 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,666K chars).
[
  {
    "path": ".gitattributes",
    "chars": 771,
    "preview": "*.doc  diff=astextplain\n*.DOC\tdiff=astextplain\n*.docx\tdiff=astextplain\n*.DOCX\tdiff=astextplain\n*.dot\tdiff=astextplain\n*."
  },
  {
    "path": ".github/workflows/codeql.yml",
    "chars": 4618,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".gitignore",
    "chars": 257,
    "preview": "[Bb]in/\n[Oo]bj/\n[Ww]orking*/\nBuild/Temp/\nDoc/doc.shfbproj_*\nTestResults/\nAppPackages/\nBenchmarkDotNet.Artifacts/\n*.suo\n*"
  },
  {
    "path": "Build/Sign-Package.ps1",
    "chars": 948,
    "preview": "\n$currentDirectory = split-path $MyInvocation.MyCommand.Definition\n\n# See if we have the SignKeyVaultCertificate availab"
  },
  {
    "path": "Build/appsettings.json",
    "chars": 380,
    "preview": "{\n  \"SignClient\": {\n    \"AzureAd\": {\n      \"AADInstance\": \"https://login.microsoftonline.com/\",\n      \"ClientId\": \"c248d"
  },
  {
    "path": "Build/build.ps1",
    "chars": 12227,
    "preview": "properties {\n  $zipFileName = \"Json130r5.zip\"\n  $majorVersion = \"13.0\"\n  $majorWithReleaseVersion = \"13.0.5\"\n  $nugetPr"
  },
  {
    "path": "Build/localbuild.ps1",
    "chars": 426,
    "preview": "Start-Transcript ($PSScriptRoot + '\\Temp\\runbuild.txt')\n\n$version = Get-Content \"$PSScriptRoot\\version.json\" | Out-Stri"
  },
  {
    "path": "Build/psake.psm1",
    "chars": 30998,
    "preview": "# psake\n# Copyright (c) 2012 James Kovacs\n# Permission is hereby granted, free of charge, to any person obtaining a copy"
  },
  {
    "path": "Build/runbuild.cmd",
    "chars": 239,
    "preview": "cls\npowershell -Command \"& { Start-Transcript '%~dp0\\Temp\\runbuild.txt'; Import-Module '%~dp0\\psake.psm1'; Invoke-psake "
  },
  {
    "path": "Build/runbuild.ps1",
    "chars": 542,
    "preview": "param(\n    [hashtable] $parameters = @{},\n    [hashtable] $properties = @{}\n)\n\n$path = Split-Path -Path $MyInvocation.M"
  },
  {
    "path": "Build/version.json",
    "chars": 78,
    "preview": "{\n  \"Major\": 13,\n  \"Release\": 5,\n  \"Prerelease\": \"beta1\",\n  \"Assembly\": null\n}"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4582,
    "preview": "# How to contribute\n\nPlease read these guidelines before contributing to Json.NET:\n\n - [Question or Problem?](#question)"
  },
  {
    "path": "Doc/ConditionalProperties.aml",
    "chars": 2693,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<topic id=\"ConditionalProperties\" revisionNumber=\"1\">\r\n  <developerConceptualDo"
  },
  {
    "path": "Doc/ContractResolver.aml",
    "chars": 4290,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ContractResolver\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/ConvertingJSONandXML.aml",
    "chars": 5085,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ConvertingJSONandXML\" revisionNumber=\"1\">\n  <developerConceptualDocum"
  },
  {
    "path": "Doc/CreatingLINQtoJSON.aml",
    "chars": 2382,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreatingLINQtoJSON\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/CustomCreationConverter.aml",
    "chars": 1510,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomCreationConverter\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/DatesInJSON.aml",
    "chars": 5586,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DatesInJSON\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns"
  },
  {
    "path": "Doc/Introduction.aml",
    "chars": 4453,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"Introduction\" revisionNumber=\"1\">\n  <developerConceptualDocument xmln"
  },
  {
    "path": "Doc/JsonNetVsDotNetSerializers.aml",
    "chars": 25087,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonNetVsDotNetSerializers\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/JsonSchema.aml",
    "chars": 4107,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonSchema\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/LINQtoJSON.aml",
    "chars": 1516,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"LINQtoJSON\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/ParsingLINQtoJSON.aml",
    "chars": 1887,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ParsingLINQtoJSON\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Performance.aml",
    "chars": 6375,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"Performance\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns"
  },
  {
    "path": "Doc/PreserveObjectReferences.aml",
    "chars": 4976,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"PreserveObjectReferences\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/QueryingLINQtoJSON.aml",
    "chars": 3370,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryingLINQtoJSON\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/ReadingWritingJSON.aml",
    "chars": 3459,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReadingWritingJSON\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/ReducingSerializedJSONSize.aml",
    "chars": 8157,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReducingSerializedJSONSize\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/Samples/Bson/DeserializeFromBson.aml",
    "chars": 747,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeFromBson\" revisionNumber=\"1\">\n  <developerConceptualDocume"
  },
  {
    "path": "Doc/Samples/Bson/DeserializeFromBsonCollection.aml",
    "chars": 1006,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeFromBsonCollection\" revisionNumber=\"1\">\n  <developerConcep"
  },
  {
    "path": "Doc/Samples/Bson/SerializeToBson.aml",
    "chars": 733,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeToBson\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Json/CustomJsonReader.aml",
    "chars": 796,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomJsonReader\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Json/CustomJsonWriter.aml",
    "chars": 796,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomJsonWriter\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Json/ReadJsonWithJsonTextReader.aml",
    "chars": 683,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReadJsonWithJsonTextReader\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/Samples/Json/ReadMultipleContentWithJsonReader.aml",
    "chars": 1060,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReadMultipleContentWithJsonReader\" revisionNumber=\"1\">\n  <developerCo"
  },
  {
    "path": "Doc/Samples/Json/WriteJsonWithJsonTextWriter.aml",
    "chars": 686,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"WriteJsonWithJsonTextWriter\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/JsonPath/ErrorWhenNoMatchQuery.aml",
    "chars": 781,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ErrorWhenNoMatchQuery\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/Samples/JsonPath/QueryJsonSelectToken.aml",
    "chars": 727,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonSelectToken\" revisionNumber=\"1\">\n  <developerConceptualDocum"
  },
  {
    "path": "Doc/Samples/JsonPath/QueryJsonSelectTokenEscaped.aml",
    "chars": 761,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonSelectTokenEscaped\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/JsonPath/QueryJsonSelectTokenJsonPath.aml",
    "chars": 907,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonSelectTokenJsonPath\" revisionNumber=\"1\">\n  <developerConcept"
  },
  {
    "path": "Doc/Samples/JsonPath/QueryJsonSelectTokenWithLinq.aml",
    "chars": 785,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonSelectTokenWithLinq\" revisionNumber=\"1\">\n  <developerConcept"
  },
  {
    "path": "Doc/Samples/JsonPath/RegexQuery.aml",
    "chars": 730,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"RegexQuery\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/Samples/JsonPath/StrictEqualsQuery.aml",
    "chars": 752,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"StrictEqualsQuery\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Linq/Clone.aml",
    "chars": 754,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"Clone\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\"http"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonAnonymousObject.aml",
    "chars": 847,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonAnonymousObject\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonCollectionInitializer.aml",
    "chars": 820,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonCollectionInitializer\" revisionNumber=\"1\">\n  <developerConc"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonDeclaratively.aml",
    "chars": 934,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonDeclaratively\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonDynamic.aml",
    "chars": 784,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonDynamic\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonJTokenWriter.aml",
    "chars": 846,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonJTokenWriter\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/Samples/Linq/CreateJsonManually.aml",
    "chars": 781,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonManually\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/Samples/Linq/CreateReader.aml",
    "chars": 733,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateReader\" revisionNumber=\"1\">\n  <developerConceptualDocument xmln"
  },
  {
    "path": "Doc/Samples/Linq/CreateWriter.aml",
    "chars": 733,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateWriter\" revisionNumber=\"1\">\n  <developerConceptualDocument xmln"
  },
  {
    "path": "Doc/Samples/Linq/DeepEquals.aml",
    "chars": 847,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeepEquals\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/Samples/Linq/DeserializeWithLinq.aml",
    "chars": 774,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeWithLinq\" revisionNumber=\"1\">\n  <developerConceptualDocume"
  },
  {
    "path": "Doc/Samples/Linq/FromObject.aml",
    "chars": 856,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"FromObject\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/Samples/Linq/JObjectProperties.aml",
    "chars": 769,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JObjectProperties\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Linq/JTokenAnnotation.aml",
    "chars": 609,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JTokenAnnotation\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Linq/JValueCast.aml",
    "chars": 664,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JValueCast\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/Samples/Linq/JValueValue.aml",
    "chars": 741,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JValueValue\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns"
  },
  {
    "path": "Doc/Samples/Linq/MergeJson.aml",
    "chars": 580,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"MergeJson\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\""
  },
  {
    "path": "Doc/Samples/Linq/ModifyJson.aml",
    "chars": 788,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ModifyJson\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns="
  },
  {
    "path": "Doc/Samples/Linq/ParseJsonAny.aml",
    "chars": 695,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ParseJsonAny\" revisionNumber=\"1\">\n  <developerConceptualDocument xmln"
  },
  {
    "path": "Doc/Samples/Linq/ParseJsonArray.aml",
    "chars": 707,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ParseJsonArray\" revisionNumber=\"1\">\n  <developerConceptualDocument xm"
  },
  {
    "path": "Doc/Samples/Linq/ParseJsonObject.aml",
    "chars": 711,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ParseJsonObject\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Linq/QueryJson.aml",
    "chars": 764,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJson\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\""
  },
  {
    "path": "Doc/Samples/Linq/QueryJsonDynamic.aml",
    "chars": 646,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonDynamic\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Linq/QueryJsonLinq.aml",
    "chars": 624,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"QueryJsonLinq\" revisionNumber=\"1\">\n  <developerConceptualDocument xml"
  },
  {
    "path": "Doc/Samples/Linq/ReadJTokenFromBson.aml",
    "chars": 751,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReadJTokenFromBson\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/Samples/Linq/ReadJson.aml",
    "chars": 654,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReadJson\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\"h"
  },
  {
    "path": "Doc/Samples/Linq/SerializeWithLinq.aml",
    "chars": 768,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeWithLinq\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Linq/ToObjectComplex.aml",
    "chars": 705,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ToObjectComplex\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Linq/ToObjectGeneric.aml",
    "chars": 705,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ToObjectGeneric\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Linq/ToObjectType.aml",
    "chars": 709,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ToObjectType\" revisionNumber=\"1\">\n  <developerConceptualDocument xmln"
  },
  {
    "path": "Doc/Samples/Linq/ToString.aml",
    "chars": 588,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ToString\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\"h"
  },
  {
    "path": "Doc/Samples/Linq/ToStringJsonConverter.aml",
    "chars": 717,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ToStringJsonConverter\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/Samples/Linq/WriteJTokenToBson.aml",
    "chars": 748,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"WriteJTokenToBson\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Linq/WriteToJsonFile.aml",
    "chars": 602,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"WriteToJsonFile\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Samples.aml",
    "chars": 1687,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"Samples\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\"ht"
  },
  {
    "path": "Doc/Samples/Schema/CreateJsonSchemaManually.aml",
    "chars": 1095,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CreateJsonSchemaManually\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Schema/JTokenIsValid.aml",
    "chars": 1223,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JTokenIsValid\" revisionNumber=\"1\">\n  <developerConceptualDocument xml"
  },
  {
    "path": "Doc/Samples/Schema/JTokenIsValidWithMessages.aml",
    "chars": 1274,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JTokenIsValidWithMessages\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Schema/JTokenValidateWithEvent.aml",
    "chars": 1289,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JTokenValidateWithEvent\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Schema/JsonSchemaParse.aml",
    "chars": 1055,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonSchemaParse\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Schema/JsonValidatingReaderAndSerializer.aml",
    "chars": 1287,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonValidatingReaderAndSerializer\" revisionNumber=\"1\">\n  <developerCo"
  },
  {
    "path": "Doc/Samples/Schema/LoadJsonSchemaFromFile.aml",
    "chars": 1071,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"LoadJsonSchemaFromFile\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/Samples/Schema/RefJsonSchemaResolver.aml",
    "chars": 1123,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"RefJsonSchemaResolver\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/Samples/Schema/SaveJsonSchemaToFile.aml",
    "chars": 1065,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SaveJsonSchemaToFile\" revisionNumber=\"1\">\n  <developerConceptualDocum"
  },
  {
    "path": "Doc/Samples/Serializer/CustomContractResolver.aml",
    "chars": 932,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomContractResolver\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/Samples/Serializer/CustomJsonConverter.aml",
    "chars": 878,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomJsonConverter\" revisionNumber=\"1\">\n  <developerConceptualDocume"
  },
  {
    "path": "Doc/Samples/Serializer/CustomJsonConverterGeneric.aml",
    "chars": 905,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomJsonConverterGeneric\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/Samples/Serializer/CustomTraceWriter.aml",
    "chars": 1018,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"CustomTraceWriter\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Serializer/DataContractAndDataMember.aml",
    "chars": 1147,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DataContractAndDataMember\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Serializer/DefaultSettings.aml",
    "chars": 698,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DefaultSettings\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Serializer/DefaultValueAttributeIgnore.aml",
    "chars": 1029,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DefaultValueAttributeIgnore\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/DefaultValueHandlingIgnore.aml",
    "chars": 903,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DefaultValueHandlingIgnore\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeAnonymousType.aml",
    "chars": 629,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeAnonymousType\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeCollection.aml",
    "chars": 618,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeCollection\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeConstructorHandling.aml",
    "chars": 936,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeConstructorHandling\" revisionNumber=\"1\">\n  <developerConce"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeCustomCreationConverter.aml",
    "chars": 969,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeCustomCreationConverter\" revisionNumber=\"1\">\n  <developerC"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeDataSet.aml",
    "chars": 664,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeDataSet\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeDateFormatString.aml",
    "chars": 798,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeDateFormatString\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeDictionary.aml",
    "chars": 618,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeDictionary\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeExtensionData.aml",
    "chars": 794,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeExtensionData\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeImmutableCollections.aml",
    "chars": 649,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeImmutableCollections\" revisionNumber=\"1\">\n  <developerConc"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeMetadataPropertyHandling.aml",
    "chars": 814,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeMetadataPropertyHandling\" revisionNumber=\"1\">\n  <developer"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeMissingMemberHandling.aml",
    "chars": 976,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeMissingMemberHandling\" revisionNumber=\"1\">\n  <developerCon"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeObject.aml",
    "chars": 753,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeObject\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeObjectCreationHandling.aml",
    "chars": 942,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeObjectCreationHandling\" revisionNumber=\"1\">\n  <developerCo"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeWithDependencyInjection.aml",
    "chars": 818,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeWithDependencyInjection\" revisionNumber=\"1\">\n  <developerC"
  },
  {
    "path": "Doc/Samples/Serializer/DeserializeWithJsonSerializerFromFile.aml",
    "chars": 822,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"DeserializeWithJsonSerializerFromFile\" revisionNumber=\"1\">\n  <develop"
  },
  {
    "path": "Doc/Samples/Serializer/ErrorHandlingAttribute.aml",
    "chars": 892,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ErrorHandlingAttribute\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/Samples/Serializer/ErrorHandlingEvent.aml",
    "chars": 749,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ErrorHandlingEvent\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/Samples/Serializer/JsonConstructorAttribute.aml",
    "chars": 937,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonConstructorAttribute\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Serializer/JsonConverterAttributeClass.aml",
    "chars": 1014,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonConverterAttributeClass\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/JsonConverterAttributeProperty.aml",
    "chars": 1026,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonConverterAttributeProperty\" revisionNumber=\"1\">\n  <developerConce"
  },
  {
    "path": "Doc/Samples/Serializer/JsonObjectAttributeOptIn.aml",
    "chars": 1116,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonObjectAttributeOptIn\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Serializer/JsonObjectAttributeOverrideIEnumerable.aml",
    "chars": 1047,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonObjectAttributeOverrideIEnumerable\" revisionNumber=\"1\">\n  <develo"
  },
  {
    "path": "Doc/Samples/Serializer/JsonPropertyItemLevelSetting.aml",
    "chars": 1061,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonPropertyItemLevelSetting\" revisionNumber=\"1\">\n  <developerConcept"
  },
  {
    "path": "Doc/Samples/Serializer/JsonPropertyName.aml",
    "chars": 880,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonPropertyName\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Serializer/JsonPropertyOrder.aml",
    "chars": 872,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonPropertyOrder\" revisionNumber=\"1\">\n  <developerConceptualDocument"
  },
  {
    "path": "Doc/Samples/Serializer/JsonPropertyPropertyLevelSetting.aml",
    "chars": 908,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonPropertyPropertyLevelSetting\" revisionNumber=\"1\">\n  <developerCon"
  },
  {
    "path": "Doc/Samples/Serializer/JsonPropertyRequired.aml",
    "chars": 998,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"JsonPropertyRequired\" revisionNumber=\"1\">\n  <developerConceptualDocum"
  },
  {
    "path": "Doc/Samples/Serializer/MaxDepth.aml",
    "chars": 728,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"MaxDepth\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns=\"h"
  },
  {
    "path": "Doc/Samples/Serializer/NamingStrategyAttributes.aml",
    "chars": 911,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NamingStrategyAttributes\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/Samples/Serializer/NamingStrategyCamelCase.aml",
    "chars": 928,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NamingStrategyCamelCase\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Serializer/NamingStrategySkipDictionaryKeys.aml",
    "chars": 919,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NamingStrategySkipDictionaryKeys\" revisionNumber=\"1\">\n  <developerCon"
  },
  {
    "path": "Doc/Samples/Serializer/NamingStrategySkipSpecifiedNames.aml",
    "chars": 967,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NamingStrategySkipSpecifiedNames\" revisionNumber=\"1\">\n  <developerCon"
  },
  {
    "path": "Doc/Samples/Serializer/NamingStrategySnakeCase.aml",
    "chars": 928,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NamingStrategySnakeCase\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Serializer/NullValueHandlingIgnore.aml",
    "chars": 957,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"NullValueHandlingIgnore\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Serializer/PopulateObject.aml",
    "chars": 773,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"PopulateObject\" revisionNumber=\"1\">\n  <developerConceptualDocument xm"
  },
  {
    "path": "Doc/Samples/Serializer/PreserveReferencesHandlingObject.aml",
    "chars": 948,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"PreserveReferencesHandlingObject\" revisionNumber=\"1\">\n  <developerCon"
  },
  {
    "path": "Doc/Samples/Serializer/PropertyJsonIgnore.aml",
    "chars": 862,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"PropertyJsonIgnore\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/Samples/Serializer/ReferenceLoopHandlingIgnore.aml",
    "chars": 944,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ReferenceLoopHandlingIgnore\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/SerializationCallbackAttributes.aml",
    "chars": 1284,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationCallbackAttributes\" revisionNumber=\"1\">\n  <developerConc"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeCollection.aml",
    "chars": 610,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeCollection\" revisionNumber=\"1\">\n  <developerConceptualDocume"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeConditionalProperty.aml",
    "chars": 824,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeConditionalProperty\" revisionNumber=\"1\">\n  <developerConcept"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeContractResolver.aml",
    "chars": 896,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeContractResolver\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeDataSet.aml",
    "chars": 658,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeDataSet\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Serializer/SerializeDateFormatHandling.aml",
    "chars": 859,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeDateFormatHandling\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeDateFormatString.aml",
    "chars": 792,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeDateFormatString\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeDateTimeZoneHandling.aml",
    "chars": 1025,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeDateTimeZoneHandling\" revisionNumber=\"1\">\n  <developerConcep"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeDictionary.aml",
    "chars": 610,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeDictionary\" revisionNumber=\"1\">\n  <developerConceptualDocume"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeExtensionData.aml",
    "chars": 635,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeExtensionData\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeImmutableCollections.aml",
    "chars": 643,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeImmutableCollections\" revisionNumber=\"1\">\n  <developerConcep"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeObject.aml",
    "chars": 745,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeObject\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeRawJson.aml",
    "chars": 847,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeRawJson\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Serializer/SerializeSerializationBinder.aml",
    "chars": 936,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeSerializationBinder\" revisionNumber=\"1\">\n  <developerConcept"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeTypeNameHandling.aml",
    "chars": 986,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeTypeNameHandling\" revisionNumber=\"1\">\n  <developerConceptual"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeUnindentedJson.aml",
    "chars": 818,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeUnindentedJson\" revisionNumber=\"1\">\n  <developerConceptualDo"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeWithJsonConverters.aml",
    "chars": 718,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeWithJsonConverters\" revisionNumber=\"1\">\n  <developerConceptu"
  },
  {
    "path": "Doc/Samples/Serializer/SerializeWithJsonSerializerToFile.aml",
    "chars": 796,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializeWithJsonSerializerToFile\" revisionNumber=\"1\">\n  <developerCo"
  },
  {
    "path": "Doc/Samples/Serializer/TraceWriter.aml",
    "chars": 850,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"TraceWriter\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns"
  },
  {
    "path": "Doc/Samples/Xml/ConvertJsonToXml.aml",
    "chars": 586,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ConvertJsonToXml\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Xml/ConvertXmlToJson.aml",
    "chars": 586,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ConvertXmlToJson\" revisionNumber=\"1\">\n  <developerConceptualDocument "
  },
  {
    "path": "Doc/Samples/Xml/ConvertXmlToJsonForceArray.aml",
    "chars": 740,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"ConvertXmlToJsonForceArray\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/SelectToken.aml",
    "chars": 2667,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SelectToken\" revisionNumber=\"1\">\n  <developerConceptualDocument xmlns"
  },
  {
    "path": "Doc/SerializationAttributes.aml",
    "chars": 11578,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationAttributes\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/SerializationCallbacks.aml",
    "chars": 3196,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationCallbacks\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/SerializationErrorHandling.aml",
    "chars": 6118,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationErrorHandling\" revisionNumber=\"1\">\n  <developerConceptua"
  },
  {
    "path": "Doc/SerializationGuide.aml",
    "chars": 15640,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationGuide\" revisionNumber=\"1\">\n  <developerConceptualDocumen"
  },
  {
    "path": "Doc/SerializationSettings.aml",
    "chars": 20691,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationSettings\" revisionNumber=\"1\">\n  <developerConceptualDocu"
  },
  {
    "path": "Doc/SerializationTracing.aml",
    "chars": 2472,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializationTracing\" revisionNumber=\"1\">\n  <developerConceptualDocum"
  },
  {
    "path": "Doc/SerializingCollections.aml",
    "chars": 3285,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializingCollections\" revisionNumber=\"1\">\n  <developerConceptualDoc"
  },
  {
    "path": "Doc/SerializingJSON.aml",
    "chars": 3875,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializingJSON\" revisionNumber=\"1\">\n  <developerConceptualDocument x"
  },
  {
    "path": "Doc/SerializingJSONFragments.aml",
    "chars": 1720,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<topic id=\"SerializingJSONFragments\" revisionNumber=\"1\">\n  <developerConceptualD"
  },
  {
    "path": "Doc/doc.content",
    "chars": 15236,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Topics>\n  <Topic id=\"Introduction\" visible=\"True\" isDefault=\"true\" />\n  <Topic "
  },
  {
    "path": "Doc/doc.shfbproj",
    "chars": 17608,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
  },
  {
    "path": "Doc/license.txt",
    "chars": 1060,
    "preview": "Copyright (c) 2007 James Newton-King\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of th"
  },
  {
    "path": "Doc/readme.txt",
    "chars": 1218,
    "preview": "Json.NET\n\nhttps://www.newtonsoft.com/json\nhttps://github.com/JamesNK/Newtonsoft.Json\n\n\nDescription:\n\nJson.NET is a popul"
  },
  {
    "path": "ISSUE_TEMPLATE.md",
    "chars": 775,
    "preview": "<!--\n\nIf you have questions about how to use Json.NET, please read the Json.NET documentation or ask on Stack Overflow.\n"
  },
  {
    "path": "LICENSE.md",
    "chars": 1084,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2007 James Newton-King\n\nPermission is hereby granted, free of charge, to any person"
  },
  {
    "path": "README.md",
    "chars": 761,
    "preview": "# ![Logo](Doc/icons/logo.jpg) Json.NET\n\n[![NuGet version (Newtonsoft.Json)](https://img.shields.io/nuget/v/Newtonsoft.Js"
  },
  {
    "path": "Src/Directory.Build.props",
    "chars": 1772,
    "preview": "<Project>\n  <PropertyGroup>\n    <AutofacPackageVersion>4.6.2</AutofacPackageVersion>\n    <BenchmarkDotNetPackageVersion>"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonBinaryType.cs",
    "chars": 1637,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonBinaryWriter.cs",
    "chars": 11444,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonObjectId.cs",
    "chars": 2200,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonReader.cs",
    "chars": 30449,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonToken.cs",
    "chars": 4815,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any perso"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonType.cs",
    "chars": 1666,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Bson/BsonWriter.cs",
    "chars": 17988,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any perso"
  },
  {
    "path": "Src/Newtonsoft.Json/CompatibilitySuppressions.xml",
    "chars": 7189,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/di"
  },
  {
    "path": "Src/Newtonsoft.Json/ConstructorHandling.cs",
    "chars": 1832,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/BinaryConverter.cs",
    "chars": 7724,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs",
    "chars": 3763,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/CustomCreationConverter.cs",
    "chars": 4254,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/DataSetConverter.cs",
    "chars": 4731,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/DataTableConverter.cs",
    "chars": 9347,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/DateTimeConverterBase.cs",
    "chars": 2183,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/DiscriminatedUnionConverter.cs",
    "chars": 11891,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/EntityKeyMemberConverter.cs",
    "chars": 6783,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/ExpandoObjectConverter.cs",
    "chars": 6096,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/IsoDateTimeConverter.cs",
    "chars": 7705,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/JavaScriptDateTimeConverter.cs",
    "chars": 4685,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/KeyValuePairConverter.cs",
    "chars": 6833,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/RegexConverter.cs",
    "chars": 9130,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/StringEnumConverter.cs",
    "chars": 12493,
    "preview": "#region License\n\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any per"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/UnixDateTimeConverter.cs",
    "chars": 6590,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/VersionConverter.cs",
    "chars": 4280,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs",
    "chars": 83443,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any perso"
  },
  {
    "path": "Src/Newtonsoft.Json/DateFormatHandling.cs",
    "chars": 1659,
    "preview": "#region License\n// Copyright (c) 2007 James Newton-King\n//\n// Permission is hereby granted, free of charge, to any perso"
  }
]

// ... and 963 more files (download for full content)

About this extraction

This page contains the full source code of the JamesNK/Newtonsoft.Json GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1163 files (14.7 MB), approximately 3.9M tokens, and a symbol index with 9030 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!