Best ways to split a string with matching curly braces

后端 未结 2 1980
说谎
说谎 2020-12-04 00:39

I\'m working in C# right now and I\'m using JSON.Net to parse json strings to well, C# objects. Part of my problem is that I\'m getting some strings like this:



        
2条回答
  •  一整个雨季
    2020-12-04 01:11

    You can use a JsonTextReader with the SupportMultipleContent flag set to true to read this non-standard JSON. Assuming you have a class Person that looks like this:

    class Person
    {
        public string Name { get; set; }
    }
    

    You can deserialize the JSON objects like this:

    string json = @"{""name"": ""John""}{""name"": ""Joe""}";
    
    using (StringReader sr = new StringReader(json))
    using (JsonTextReader reader = new JsonTextReader(sr))
    {
        reader.SupportMultipleContent = true;
    
        var serializer = new JsonSerializer();
        while (reader.Read())
        {
            if (reader.TokenType == JsonToken.StartObject)
            {
                Person p = serializer.Deserialize(reader);
                Console.WriteLine(p.Name);
            }
        }
    }
    

    Fiddle: https://dotnetfiddle.net/1lTU2v

提交回复
热议问题