• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# RavenJToken类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中RavenJToken的典型用法代码示例。如果您正苦于以下问题:C# RavenJToken类的具体用法?C# RavenJToken怎么用?C# RavenJToken使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RavenJToken类属于命名空间,在下文中一共展示了RavenJToken类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AddParent

		private void AddParent(RavenJToken token)
		{
			if (_token == null)
			{
				_token = token;
				_tokenStack.Push(_token);
				return;
			}

			switch (CurrentToken.Type)
			{
				case JTokenType.Object:
					if (string.IsNullOrEmpty(_tempPropName))
						throw new JsonWriterException("Unexpected object token");
					((RavenJObject)CurrentToken)[_tempPropName] = token;
					_tempPropName = null;
					break;
				case JTokenType.Array:
					if (!string.IsNullOrEmpty(_tempPropName))
						throw new JsonWriterException("Unexpected property token");
					((RavenJArray)CurrentToken).Add(token);
					break;
				default:
					throw new JsonWriterException("Unexpected token: " + CurrentToken.Type);
			}

			_tokenStack.Push(token);
		}
开发者ID:alwin,项目名称:ravendb,代码行数:28,代码来源:RavenJTokenWriter.cs


示例2: StripQuotesIfNeeded

		private static string StripQuotesIfNeeded(RavenJToken value)
		{
			var str = value.ToString(Formatting.None);
			if (str.StartsWith("\"") && str.EndsWith("\""))
				return str.Substring(1, str.Length - 2);
			return str;
		}
开发者ID:robashton,项目名称:ravendb,代码行数:7,代码来源:SmugglerApi.cs


示例3: ExecuteInternal

		private void ExecuteInternal(RavenJToken token)
		{
			if (token == null)
				return; // nothing to do

			switch (token.Type)
			{
				case JTokenType.Array:
					foreach (var item in (RavenJArray)token)
					{
						ExecuteInternal(item);
					}
					break;
				case JTokenType.String:
					var value = token.Value<string>();
					if (LoadedIds.Add(value) == false)
						return;
					var includedDoc = Database.Get(value, TransactionInformation);
					if (includedDoc != null)
						Add(includedDoc.Etag,includedDoc.ToJson());
					break;
				default:
					// here we ignore everything else
					// if it ain't a string or array, it is invalid
					// as an id
					break;
			}
		}
开发者ID:kblooie,项目名称:ravendb,代码行数:28,代码来源:AddIncludesCommand.cs


示例4: WriteValue

		private static void WriteValue(RavenJToken token, StringWriter sw, int margin, int indent)
		{
			switch (token.Type)
			{
				case JTokenType.Array:
					WriteJsonArray((RavenJArray)token, sw, margin, indent);
					break;
				case JTokenType.Object:
					WriteJsonObject((RavenJObject)token, sw, margin, indent);
					break;
				case JTokenType.Null:
					sw.Write("null");
					break;
				case JTokenType.String:
					sw.Write('"');
					sw.Write(token.ToString()
								.NormalizeWhitespace()
								.ShortViewOfString(margin - 2)
						);
					sw.Write('"');
					break;
				default:
					sw.Write(token.ToString().ShortViewOfString(margin));
					break;
			}
		}
开发者ID:neiz,项目名称:ravendb,代码行数:26,代码来源:ShortViewOfJson.cs


示例5: MatchFilters

		public virtual bool MatchFilters(RavenJToken item)
		{
			foreach (var filter in Filters)
			{
			    bool anyRecords = false;
				bool matchedFilter = false;
				foreach (var tuple in item.SelectTokenWithRavenSyntaxReturningFlatStructure(filter.Path))
				{
					if (tuple == null || tuple.Item1 == null)
						continue;

				    anyRecords = true;

					var val = tuple.Item1.Type == JTokenType.String
								? tuple.Item1.Value<string>()
								: tuple.Item1.ToString(Formatting.None);
					matchedFilter |= filter.Values.Any(value => String.Equals(val, value, StringComparison.OrdinalIgnoreCase)) ==
									 filter.ShouldMatch;
				}

                if (filter.ShouldMatch == false && anyRecords == false) // RDBQA-7
                    return true;

				if (matchedFilter == false)
					return false;
			}
			return true;
		}
开发者ID:925coder,项目名称:ravendb,代码行数:28,代码来源:SmugglerOptions.cs


示例6: WriteValue

        private static void WriteValue(RavenJToken token, CountingWriter sw, int width, int numberOfLines)
		{
			switch (token.Type)
			{
				case JTokenType.Array:
                    WriteJsonArray((RavenJArray)token, sw, width, numberOfLines);
					break;
				case JTokenType.Object:
                    WriteJsonObject((RavenJObject)token, sw, width, numberOfLines);
					break;
				case JTokenType.Null:
					sw.Write("null");
					break;
				case JTokenType.String:
					sw.Write("\"");
					sw.Write(token.ToString()
								.NormalizeWhitespace()
                                .TrimmedViewOfString(width - sw.CharactersOnCurrentLine -1)
						);
                    sw.Write("\"");
					break;
				default:
                    sw.Write(token.ToString().TrimmedViewOfString(width - sw.CharactersOnCurrentLine - 1));
					break;
			}
		}
开发者ID:remcoros,项目名称:ravendb,代码行数:26,代码来源:ShortViewOfJson.cs


示例7: Visit

        private static void Visit(RavenJToken token)
        {
            switch (token.Type)
            {
                case JTokenType.Object:
                    foreach (var item in (RavenJObject)token)
                        Visit(item.Value);

                    break;

                case JTokenType.Array:
                    foreach (var items in (RavenJArray)token)
                        Visit(items);

                    break;

                case JTokenType.Constructor:
                case JTokenType.Property:
                case JTokenType.Comment:
                case JTokenType.None:
                case JTokenType.Integer:
                case JTokenType.Float:
                case JTokenType.String:
                case JTokenType.Boolean:
                case JTokenType.Null:
                case JTokenType.Undefined:
                case JTokenType.Date:
                case JTokenType.Raw:
                case JTokenType.Bytes:
                    break;

                default:
                    throw new ArgumentOutOfRangeException(token.Type.ToString());
            }
        }
开发者ID:ravendb,项目名称:ravendb.contrib,代码行数:35,代码来源:JsonFormatter.cs


示例8: GetJsonTokenType

		private static JsonToken GetJsonTokenType(RavenJToken token)
		{
			switch (token.Type)
			{
				case JTokenType.Integer:
					return JsonToken.Integer;
				case JTokenType.Float:
					return JsonToken.Float;
				case JTokenType.String:
					return JsonToken.String;
				case JTokenType.Boolean:
					return JsonToken.Boolean;
				case JTokenType.Null:
					return JsonToken.Null;
				case JTokenType.Undefined:
					return JsonToken.Undefined;
				case JTokenType.Date:
					return JsonToken.Date;
				case JTokenType.Raw:
					return JsonToken.Raw;
				case JTokenType.Bytes:
					return JsonToken.Bytes;
				default:
					throw MiscellaneousUtils.CreateArgumentOutOfRangeException("Type", token.Type, "Unexpected JTokenType.");
			}
		}
开发者ID:nzdunic,项目名称:ravendb,代码行数:26,代码来源:RavenJTokenReader.cs


示例9: ReadRavenJToken

		private static IEnumerable<ReadState> ReadRavenJToken(RavenJToken token)
		{
			if (token is RavenJValue)
			{
				yield return new ReadState(GetJsonTokenType(token), ((RavenJValue)token).Value);
			}
			else if (token is RavenJArray)
			{
				yield return new ReadState(JsonToken.StartArray);
				if (((RavenJArray)token).Length > 0) // to prevent object creation if inner array is null
				{
					foreach (var item in ((RavenJArray)token))
						foreach (var i in ReadRavenJToken(item))
							yield return i;
				}
				yield return new ReadState(JsonToken.EndArray);
			}
			else if (token is RavenJObject)
			{
				yield return new ReadState(JsonToken.StartObject);

				foreach (var prop in ((RavenJObject)token))
				{
					yield return new ReadState(JsonToken.PropertyName, prop.Key);
					foreach (var item in ReadRavenJToken(prop.Value))
						yield return item;
				}

				yield return new ReadState(JsonToken.EndObject);
			}
		}
开发者ID:nzdunic,项目名称:ravendb,代码行数:31,代码来源:RavenJTokenReader.cs


示例10: ExecuteInternal

		private void ExecuteInternal(RavenJToken token, string prefix)
		{
			if (token == null)
				return; // nothing to do

			switch (token.Type)
			{
				case JTokenType.Array:
					foreach (var item in (RavenJArray)token)
					{
						ExecuteInternal(item, prefix);
					}
					break;
				case JTokenType.String:
					LoadId(token.Value<string>(), prefix);
					break;
				case JTokenType.Integer:
					LoadId(token.Value<int>().ToString(CultureInfo.InvariantCulture), prefix);
					break;
				default:
					// here we ignore everything else
					// if it ain't a string or array, it is invalid
					// as an id
					break;
			}
		}
开发者ID:seankearon,项目名称:ravendb,代码行数:26,代码来源:AddIncludesCommand.cs


示例11: RavenJTokenReader

		/// <summary>
		/// Initializes a new instance of the <see cref="RavenJTokenReader"/> class.
		/// </summary>
		/// <param name="token">The token to read from.</param>
		public RavenJTokenReader(RavenJToken token)
		{
			if (token == null)
				throw new ArgumentNullException("token");

			_root = token;
		}
开发者ID:royra,项目名称:ravendb,代码行数:11,代码来源:RavenJTokenReader.cs


示例12: ExecuteInternal

		private static void ExecuteInternal(RavenJToken token, string prefix, Func<string, string, bool> loadId)
		{
			if (token == null)
				return; // nothing to do

			switch (token.Type)
			{
				case JTokenType.Array:
					foreach (var item in (RavenJArray)token)
					{
						ExecuteInternal(item, prefix, loadId);
					}
					break;
				case JTokenType.String:
			        var value = token.Value<string>();
                    if (loadId(value, null) == false)
                        loadId(value, prefix);
					break;
				case JTokenType.Integer:
					try
					{
						loadId(token.Value<long>().ToString(CultureInfo.InvariantCulture), prefix);
					}
					catch (OverflowException)
					{
						loadId(token.Value<ulong>().ToString(CultureInfo.InvariantCulture), prefix);
					}
					break;
				// here we ignore everything else
				// if it ain't a string or array, it is invalid
				// as an id
			}
		}
开发者ID:robashton,项目名称:ravendb,代码行数:33,代码来源:IncludesUtil.cs


示例13: HandleToken

			private IEnumerable<IEnumerable<AbstractField>> HandleToken(RavenJToken value, string path)
			{
				switch (value.Type)
				{
					case JTokenType.Array:
						foreach (var item in ((RavenJArray) value).SelectMany(val => HandleToken(val, path)))
						{
							yield return item;
						}
						break;
					case JTokenType.Object:
						foreach (var inner in ((RavenJObject)value))
						{
							var nestedObj = inner.Value as RavenJObject;
							if(nestedObj!=null)
							{
								foreach (var item in HandleObject(nestedObj, path + "_" + inner.Key))
								{
									yield return item;
								}
							}
							else
							{
								foreach (var item in HandleToken(inner.Value, path +"_" + inner.Key))
								{
									yield return item;
								}
							}
						}
						break;
					default:
						yield return CreateField(path, value);
						break;
				}
			}
开发者ID:royra,项目名称:ravendb,代码行数:35,代码来源:NestedIndexDynamic.cs


示例14: GetTheNewResultOrWireTheDefault

			private RavenJToken GetTheNewResultOrWireTheDefault(RavenJToken result)
			{
				var selectToken = result.SelectToken(Name);
				if (selectToken != null)
					return selectToken;
				return ((RavenJObject)result)[Name] = new RavenJObject();
			}
开发者ID:royra,项目名称:ravendb,代码行数:7,代码来源:JTokenExtensions.cs


示例15: Add

		// This is called only from inside persistenceStore.Write

		public void Add(RavenJToken key)
		{
			IComparable actualKey = transform(key);
			Index = Index.AddOrUpdate(actualKey,
				new EmptyAVLTree<RavenJToken, RavenJToken>(RavenJTokenComparer.Instance, token => token.CloneToken(), token => token.CloneToken()).Add(key, key),
				(comparable, tree) => tree.Add(key, key));
		}
开发者ID:jtmueller,项目名称:ravendb,代码行数:9,代码来源:SecondaryIndex.cs


示例16: Add

		public virtual void Add(WriteBatch writeBatch, Slice key, RavenJToken value, ushort? expectedVersion = null)
		{
            var stream = new BufferPoolMemoryStream(BufferPool);
            value.WriteTo(stream);
            stream.Position = 0;

			writeBatch.Add(key, stream, TableName, expectedVersion);
		}
开发者ID:randacc,项目名称:ravendb,代码行数:8,代码来源:TableBase.cs


示例17: RenameProperty

		private void RenameProperty(PatchRequest patchCmd, string propName, RavenJToken property)
		{
			EnsurePreviousValueMatchCurrentValue(patchCmd, property);
			if (property == null)
				return;

			document[patchCmd.Value.Value<string>()] = property;
			document.Remove(propName);
		}
开发者ID:neiz,项目名称:ravendb,代码行数:9,代码来源:JsonPatcher.cs


示例18: JsonContent

 public JsonContent(RavenJToken data = null)
 {
     Data = data;
     if (data != null)
     {
         Headers.ContentType = string.IsNullOrEmpty(Jsonp) ?
             new MediaTypeHeaderValue("application/json") {CharSet = "utf-8"} :
             new MediaTypeHeaderValue("application/javascript") {CharSet = "utf-8"};
     }
 }
开发者ID:heinnge,项目名称:ravendb,代码行数:10,代码来源:JsonContent.cs


示例19: GetPropertyValue

		private static object GetPropertyValue(RavenJToken property)
		{
			switch (property.Type)
			{
				case JTokenType.Array:
				case JTokenType.Object:
					return property.ToString(Formatting.None);
				default:
					return property.Value<object>();
			}
		}
开发者ID:denno-secqtinstien,项目名称:ravendb,代码行数:11,代码来源:AnonymousObjectToLuceneDocumentConverter.cs


示例20: GetConstraint

 public static UniqueConstraint GetConstraint(RavenJToken property)
 {
     switch (property.Type)
     {
         case JTokenType.String: // backward compatability
             return new UniqueConstraint { PropName = property.Value<string>() };
         case JTokenType.Object:
             return new UniqueConstraint { PropName = property.Value<string>("Name"), CaseInsensitive = property.Value<bool>("CaseInsensitive") };
         default:
             throw new ArgumentOutOfRangeException(property.Type.ToString());
     }
 }
开发者ID:j2jensen,项目名称:ravendb,代码行数:12,代码来源:Util.cs



注:本文中的RavenJToken类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# RawComment类代码示例发布时间:2022-05-24
下一篇:
C# RavenJObject类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap