How to create JSON from strings without creating a custom class using JSON.Net library

前端 未结 3 2069
日久生厌
日久生厌 2021-01-14 16:58

I have this very simple method as below:

//my current file
using Newtonsoft.Json;
string key1 = \"FirstKey\";
string key2 = \"SecondKey\";
string key3 = \"Th         


        
3条回答
  •  被撕碎了的回忆
    2021-01-14 17:27

    There's JsonWriter, which is not much more than StringBuilder - you do not get much constraints and can possibly end up with incorrect document

    Some time ago I wanted to create simple documents WITHOUT the overhead of serialization, but with the guarantee they will be correct.

    The pattern I went with is:

    var doc = JSONElement.JSONDocument.newDoc(true);
    
    using (var root = doc.addObject())
    {
        root.addString("firstName", "John");
        root.addString("lastName", "Smith");
        root.addBoolean("isAlive", true);
        root.addNumber("age", 27);
        using (var addres = root.addObject("address"))
        {
            addres.addString("streetAddress", "21 2nd Street");
            addres.addString("city", "New York");
            addres.addString("state", "NY");
            addres.addString("postalCode", "10021-3100");
        }
        using (var phoneNumbers = root.addArray("phoneNumbers"))
        {
            using (var phone = phoneNumbers.addObject())
            {
                phone.addString("type", "home");
                phone.addString("number", "212 555-1234");
            }
    //[....]           
        }        
    }
    string output = doc.getOutput();
    

    }

    The module (< 300lines) is available here: https://github.com/AXImproveLtd/jsonDocCreate

提交回复
热议问题