protected virtual object ReadJsonAsStringArray(JsonReader reader)
        {
            if (reader.TokenType != JsonToken.StartArray)
            {
                reader.Skip();
                return null;
            }

            var rowValues = new List<string>();
            var valueStartDepth = reader.Depth;
            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
            {
                using (var jw = new JsonTextWriter(sw))
                {
                    while (reader.Read() && !(reader.TokenType == JsonToken.EndArray && reader.Depth == valueStartDepth))
                    {
                        jw.WriteToken(reader, true);
                        rowValues.Add(sb.ToString());
                        sb.Clear();
                    }
                }
            }

            return rowValues.ToArray();
        }
Esempio n. 2
0
        /// <summary>
        /// Creates an instance of <see cref="JRaw"/> with the content of the reader's current token.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <returns>An instance of <see cref="JRaw"/> with the content of the reader's current token.</returns>
        public static JRaw Create(JsonReader reader)
        {
            using (StringWriter sw = new StringWriter(CultureInfo.InvariantCulture))
            using (JsonTextWriter jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.WriteToken(reader);

                return new JRaw(sw.ToString());
            }
        }
Esempio n. 3
0
File: JRaw.cs Progetto: Zeludon/FEZ
 public static JRaw Create(JsonReader reader)
 {
   using (StringWriter stringWriter = new StringWriter((IFormatProvider) CultureInfo.InvariantCulture))
   {
     using (JsonTextWriter jsonTextWriter = new JsonTextWriter((TextWriter) stringWriter))
     {
       jsonTextWriter.WriteToken(reader);
       return new JRaw((object) stringWriter.ToString());
     }
   }
 }
        private void formatButton_Click(object sender, RoutedEventArgs e)
        {
            using (var stringReader = new StringReader(textBox.Text))
            using (var stringWriter = new StringWriter())
            {
                var jsonReader = new JsonTextReader(stringReader);
                var jsonWriter = new JsonTextWriter(stringWriter) { Formatting = Formatting.Indented };
                jsonWriter.WriteToken(jsonReader);
                textBox.Text = stringWriter.ToString();
            }

        }
        protected virtual object ReadJsonAsString(JsonReader reader)
        {
            var sb = new StringBuilder();

            using (var wo = new StringWriter(sb))
            {
                using (var w = new JsonTextWriter(wo))
                {
                    w.WriteToken(reader, true);
                }
            }

            return sb.ToString();
        }
Esempio n. 6
0
 public static string JsonPrettify(string json)
 {
     using (var stringReader = new StringReader(json))
         using (var stringWriter = new StringWriter())
         {
             var jsonReader = new Newtonsoft.Json.JsonTextReader(stringReader);
             var jsonWriter = new Newtonsoft.Json.JsonTextWriter(stringWriter)
             {
                 Formatting = Newtonsoft.Json.Formatting.Indented
             };
             jsonWriter.WriteToken(jsonReader);
             return(stringWriter.ToString());
         }
 }
Esempio n. 7
0
        public static string GetInnerJson(this JsonReader jsonReader)
        {
            if (jsonReader == null)
                throw new ArgumentNullException("jsonReader");

            if (jsonReader.TokenType == JsonToken.PropertyName)
                jsonReader.Read();

            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
            using (var jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.WriteToken(jsonReader);
            }

            return sb.ToString();
        }
        static void Import(AzureDataCatalog td, string exportedCatalogFilePath)
        {
            int totalAssetsImportSucceeded = 0;
            int totalAssetsImportFailed = 0;

            System.IO.StreamReader sr = new StreamReader(exportedCatalogFilePath);
            JsonTextReader reader = new JsonTextReader(sr);

            StringWriter sw = new StringWriter(new StringBuilder());

            JsonTextWriter jtw = new JsonTextWriter(sw);

            reader.Read();
            if (reader.TokenType != JsonToken.StartObject)
            {
                throw new Exception("Invalid Json. Expected StartObject");
            }

            reader.Read();
            if ((reader.TokenType != JsonToken.PropertyName) || (!reader.Value.ToString().Equals("catalog")))
            {
                throw new Exception("Invalid Json. Expected catalog array");
            }

            reader.Read();
            if (reader.TokenType != JsonToken.StartArray)
            {
                throw new Exception("Invalid Json. Expected StartArray");
            }

            while (reader.Read())
            {
                if (reader.TokenType == JsonToken.EndArray)
                    break;

                jtw.WriteToken(reader);

                JObject asset = JObject.Parse(sw.ToString());

                string id = asset["id"].ToString();
                asset.Remove("id");
                string[] idInfo = id.Split(new char[] { '/' });
                string newid;

                string UpdateResponse = td.Update(asset.ToString(), idInfo[idInfo.Length - 2], out newid);

                if ((UpdateResponse != null) && (!string.IsNullOrEmpty(newid)))
                {
                    totalAssetsImportSucceeded++;

                    if (totalAssetsImportSucceeded % 50 == 0)
                    {
                        System.Console.WriteLine(totalAssetsImportSucceeded + "Assets Imported Succesfully");
                    }
                }
                else
                {
                    totalAssetsImportFailed++;
                }

                //reset local variables for next iteration
                sw = new StringWriter(new StringBuilder());
                jtw = new JsonTextWriter(sw);

            }

            Console.WriteLine("Total Imported Success: " + totalAssetsImportSucceeded);
            Console.WriteLine("Total Imported Failed: " + totalAssetsImportFailed);
        }
        public void WriteTokenDirect_BadValue()
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);

            using (JsonWriter jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.WriteToken(JsonToken.StartArray);

                ExceptionAssert.Throws<FormatException>(() => { jsonWriter.WriteToken(JsonToken.Integer, "three"); }, "Input string was not in a correct format.");

                ExceptionAssert.Throws<ArgumentNullException>(() => { jsonWriter.WriteToken(JsonToken.Integer); }, @"Value cannot be null.
Parameter name: value");
            }
        }
        public void WriteTokenDirect()
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);

            using (JsonWriter jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.WriteToken(JsonToken.StartArray);
                jsonWriter.WriteToken(JsonToken.Integer, 1);
                jsonWriter.WriteToken(JsonToken.StartObject);
                jsonWriter.WriteToken(JsonToken.PropertyName, "string");
                jsonWriter.WriteToken(JsonToken.Integer, int.MaxValue);
                jsonWriter.WriteToken(JsonToken.EndObject);
                jsonWriter.WriteToken(JsonToken.EndArray);
            }

            Assert.AreEqual(@"[1,{""string"":2147483647}]", sb.ToString());
        }
 private static String JsonPrettify(string json)
 {
     using (var stringReader = new StringReader (json))
     using (var stringWriter = new StringWriter ())
     using (var jsonReader = new JsonTextReader (stringReader))
     using (var jsonWriter = new JsonTextWriter (stringWriter) { Formatting = Formatting.Indented }) {
         jsonWriter.WriteToken (jsonReader);
         return stringWriter.ToString ();
     }
 }
        private async Task DumpCollection(Uri collection, IReliableServiceQuery proxy, JsonTextWriter jsonWriter)
        {
            Log($"Dumping collection {collection}");

            var collectionData = await proxy.GetCollectionData(collection);

            jsonWriter.WriteStartArray();

            foreach (var item in collectionData)
            {
                using (var reader = new JsonTextReader(new StringReader(item)))
                {
                    jsonWriter.WriteToken(reader);
                }
            }

            jsonWriter.WriteEndArray();
        }
        public void TokenTypeOutOfRange()
        {
            using (JsonWriter jsonWriter = new JsonTextWriter(new StringWriter()))
            {
                ArgumentOutOfRangeException ex = ExceptionAssert.Throws<ArgumentOutOfRangeException>(() => jsonWriter.WriteToken((JsonToken)int.MinValue));
                Assert.AreEqual("token", ex.ParamName);

                ex = ExceptionAssert.Throws<ArgumentOutOfRangeException>(() => jsonWriter.WriteToken((JsonToken)int.MinValue, "test"));
                Assert.AreEqual("token", ex.ParamName);
            }
        }
 public void WriteTokenNullCheck()
 {
     using (JsonWriter jsonWriter = new JsonTextWriter(new StringWriter()))
     {
         ExceptionAssert.Throws<ArgumentNullException>(() => { jsonWriter.WriteToken(null); });
         ExceptionAssert.Throws<ArgumentNullException>(() => { jsonWriter.WriteToken(null, true); });
     }
 }
Esempio n. 15
0
        public void WriteComments()
        {
            string json = @"//comment*//*hi*/
{//comment
Name://comment
true//comment after true" + StringUtils.CarriageReturn + @"
,//comment after comma" + StringUtils.CarriageReturnLineFeed + @"
""ExpiryDate""://comment" + StringUtils.LineFeed + @"
new
" + StringUtils.LineFeed +
                  @"Constructor
(//comment
null//comment
),
        ""Price"": 3.99,
        ""Sizes"": //comment
[//comment

          ""Small""//comment
]//comment
}//comment 
//comment 1 ";

            JsonTextReader r = new JsonTextReader(new StringReader(json));

            StringWriter sw = new StringWriter();
            JsonTextWriter w = new JsonTextWriter(sw);
            w.Formatting = Formatting.Indented;

            w.WriteToken(r, true);

            StringAssert.AreEqual(@"/*comment*//*hi*/*/{/*comment*/
  ""Name"": /*comment*/ true/*comment after true*//*comment after comma*/,
  ""ExpiryDate"": /*comment*/ new Constructor(
    /*comment*/,
    null
    /*comment*/
  ),
  ""Price"": 3.99,
  ""Sizes"": /*comment*/ [
    /*comment*/
    ""Small""
    /*comment*/
  ]/*comment*/
}/*comment *//*comment 1 */", sw.ToString());
        }
Esempio n. 16
0
        private async Task TransformToSDataPayload(Stream targetStream)
        {
            using (var oContentStream = await originalContent.ReadAsStreamAsync())
            {
                JsonReader reader = null;
                JsonWriter outStream = null;
                int level = -1;
                try
                {
                    reader = new JsonTextReader(new StreamReader(oContentStream));
                    outStream = new JsonTextWriter(new StreamWriter(targetStream));

                    int respContentType = GetContentType();
                    bool searchForCollection = respContentType == ContentOdataCollection
                                               || respContentType == ContentApiCollection;

                    while (reader.Read())
                    {
                        if (searchForCollection && level == 0 && reader.TokenType == JsonToken.PropertyName)
                        {
                            if ((string)reader.Value == ParamCollectionNameApi || (string)reader.Value == ParamCollectionNameOdata)
                            {
                                WritePagingProperties(outStream);
                                outStream.WritePropertyName(ParamCollectionNameSdata);
                            }
                            else if ((string)reader.Value == ParamTotalresultOdata)
                                outStream.WritePropertyName(ParamTotalresultSdata);
                            else
                                outStream.WriteToken(reader, false);
                        }
                        else if (reader.TokenType == JsonToken.PropertyName)
                            outStream.WritePropertyName(CallOptionalMaps((string)reader.Value));
                        else
                        {
                            if (reader.TokenType == JsonToken.StartObject)
                                level++;
                            else if (reader.TokenType == JsonToken.EndObject)
                                level--;
                            outStream.WriteToken(reader, false);
                        }
                    }
                    outStream.Flush();
                }
                catch (Exception e)
                {
                    // TODO can we get the user and tenant context from here?
                }
                finally
                {
                    if (reader != null)
                        reader.Close();
                    if (outStream != null)
                        outStream.Close();

                }
            }
        }
    public void WriteToken()
    {
      JsonTextReader reader = new JsonTextReader(new StringReader("[1,2,3,4,5]"));
      reader.Read();
      reader.Read();

      StringWriter sw = new StringWriter();
      JsonTextWriter writer = new JsonTextWriter(sw);
      writer.WriteToken(reader);

      Assert.AreEqual("1", sw.ToString());
    }
Esempio n. 18
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            OrderDetail order = new OrderDetail();
            while (reader.Read())
            {
                if (reader.Value != null)
                {
                    int testInt;
                    switch (reader.Value.ToString())
                    {
                        case "AccountAlias":
                            if (reader.Read() && reader.Value != null) order.AccountAlias = reader.Value.ToString();
                            break;
                        case "AccountID":
                            if (reader.Read() && reader.Value != null) order.AccountKey = reader.Value.ToString();
                            break;
                        case "AdvancedOptions":
                            if (reader.Read() && reader.Value != null) order.AdvancedOptions = reader.Value.ToString();
                            break;
                        case "AssetType":
                            AssetType assetType;
                            if (reader.Read() && reader.Value != null && Enum.TryParse(reader.Value.ToString(), out assetType))
                                order.AssetType = assetType;
                            break;
                        case "CommissionFee":
                            if (reader.Read() && reader.Value != null) order.CommissionFee = decimal.Parse(reader.Value.ToString());
                            break;
                        case "ContractExpireDate":
                            if (reader.Read() && reader.Value != null) order.ContractExpireDate = reader.Value.ToString();
                            break;
                        case "ConversionRate":
                            decimal testDecimal;
                            if (reader.Read() && reader.Value != null && decimal.TryParse(reader.Value.ToString(), out testDecimal)) order.ConversionRate = testDecimal;
                            break;
                        case "Country":
                            if (reader.Read() && reader.Value != null && !string.IsNullOrEmpty(reader.Value.ToString()))
                                order.Country = reader.Value.ToString();
                            break;
                        case "Denomination":
                            Currency denomination;
                            if (reader.Read() && reader.Value != null && Enum.TryParse(reader.Value.ToString(), out denomination))
                                order.Denomination = denomination;
                            break;
                        case "Duration":
                            if (reader.Read() && reader.Value != null && !string.IsNullOrEmpty(reader.Value.ToString()))
                                order.Duration = new OrderDuration(reader.Value.ToString());
                            break;
                        case "ExecuteQuantity":
                            if (reader.Read() && reader.Value != null && int.TryParse(reader.Value.ToString(), out testInt))
                                order.ExecuteQuantity = testInt;
                            break;
                        case "FilledCanceled":
                            if (reader.Read() && reader.Value != null) order.FilledCanceled = reader.Value.ToString();
                            break;
                        case "FilledPriceText":
                            if (reader.Read() && reader.Value != null) order.FilledPriceText = reader.Value.ToString();
                            break;
                        case "GroupName":
                            if (reader.Read() && reader.Value != null) order.GroupName = reader.Value.ToString();
                            break;
                        case "Legs":

                            if (reader.Read() && reader.TokenType == JsonToken.StartArray)
                            {
                                //	order.Legs.AddRange((List<Leg>)JsonConvert.DeserializeObject<List<Leg>>(reader.Value.ToString()));
                                StringWriter sw = new StringWriter();

                                JsonTextWriter jw = new JsonTextWriter(sw);
                                jw.WriteStartArray();

                                do
                                {
                                    reader.Read();
                                    jw.WriteToken(reader);
                                } while (reader.TokenType != JsonToken.EndArray);
                                order.Legs.AddRange(JsonConvert.DeserializeObject<List<Leg>>(sw.ToString()));
                            }
                            break;
                        case "LimitPriceText":
                            if (reader.Read() && reader.Value != null) order.LimitPriceText = reader.Value.ToString();
                            break;
                        case "OrderID":
                            if (reader.Read() && reader.Value != null && int.TryParse(reader.Value.ToString(), out testInt))
                                order.OrderId = testInt;
                            break;
                        case "Originator":
                            if (reader.Read() && reader.Value != null && int.TryParse(reader.Value.ToString(), out testInt))
                                order.Originator = testInt;
                            break;
                        case "Quantity":
                            if (reader.Read() && reader.Value != null && int.TryParse(reader.Value.ToString(), out testInt))
                                order.Quantity = testInt;
                            break;
                        case "QuantityLeft":
                            if (reader.Read() && reader.Value != null && int.TryParse(reader.Value.ToString(), out testInt))
                                order.QuantityLeft = testInt;
                            break;
                        case "RejectReason":
                            if (reader.Read() && reader.Value != null) order.RejectReason = reader.Value.ToString();
                            break;
                        case "Routing":
                            Route route;
                            if (reader.Read() && reader.Value != null && Enum.TryParse(reader.Value.ToString(), out route))
                                order.Route = route;
                            break;
                        case "Spread":
                            if (reader.Read() && reader.Value != null) order.Spread = reader.Value.ToString();
                            break;
                        case "Status":
                            if (reader.Read() && reader.Value != null) order.Status = (OrderState)Enum.Parse(typeof(OrderState), reader.Value.ToString());
                            break;
                        case "StatusDescription":
                            if (reader.Read() && reader.Value != null) order.StatusDescription = reader.Value.ToString();
                            break;
                        case "StopPriceText":
                            if (reader.Read() && reader.Value != null) order.StopPriceText = reader.Value.ToString();
                            break;
                        case "Symbol":
                            if (reader.Read() && reader.Value != null) order.Symbol = reader.Value.ToString();
                            break;
                        case "TimeStamp":
                            if (reader.Read() && reader.Value != null) order.TimeStamp = DateTime.Parse(reader.Value.ToString());
                            break;
                        case "TriggeredBy":
                            if (reader.Read() && reader.Value != null) order.TriggeredBy = reader.Value.ToString();
                            break;
                        case "Type":
                            if (reader.Read() && reader.Value != null)
                            {
                                StringBuilder action = new StringBuilder(255);
                                string[] fields = reader.Value.ToString().Split(' ');
                                foreach (string field in fields)
                                {
                                    if (!string.IsNullOrEmpty(field)) action.Append(Char.ToUpper(field[0]) + field.Substring(1).ToLower());
                                }
                                order.TradeAction = (TradeAction)Enum.Parse(typeof(TradeAction), action.ToString());
                            }

                            break;
                        default:
                            reader.Read();
                            break;

                    }
                }
                else
                    break;
            }

            return order;
        }