Ignore:
Timestamp:
Aug 7, 2022, 3:02:24 PM (2 years ago)
Author:
alloc
Message:

Major refactoring/cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/7dtd-server-fixes/src/JSON/JSONObject.cs

    r389 r391  
    33
    44namespace AllocsFixes.JSON {
    5         public class JSONObject : JSONNode {
    6                 private readonly Dictionary<string, JSONNode> nodes = new Dictionary<string, JSONNode> ();
     5        public class JsonObject : JsonNode {
     6                private readonly Dictionary<string, JsonNode> nodes = new Dictionary<string, JsonNode> ();
    77
    8                 public JSONNode this [string _name] {
     8                public JsonNode this [string _name] {
    99                        get => nodes [_name];
    1010                        set => nodes [_name] = value;
     
    1919                }
    2020
    21                 public bool TryGetValue (string _name, out JSONNode _node) {
     21                public bool TryGetValue (string _name, out JsonNode _node) {
    2222                        return nodes.TryGetValue (_name, out _node);
    2323                }
    2424
    25                 public void Add (string _name, JSONNode _node) {
     25                public void Add (string _name, JsonNode _node) {
    2626                        nodes.Add (_name, _node);
    2727                }
     
    3333                        }
    3434
    35                         foreach (KeyValuePair<string, JSONNode> kvp in nodes) {
     35                        foreach ((string key, JsonNode value) in nodes) {
    3636                                if (_prettyPrint) {
    3737                                        _stringBuilder.Append (new string ('\t', _currentLevel + 1));
    3838                                }
    3939
    40                                 _stringBuilder.Append (string.Format ("\"{0}\":", kvp.Key));
     40                                _stringBuilder.Append ($"\"{key}\":");
    4141                                if (_prettyPrint) {
    4242                                        _stringBuilder.Append (" ");
    4343                                }
    4444
    45                                 kvp.Value.ToString (_stringBuilder, _prettyPrint, _currentLevel + 1);
     45                                value.ToString (_stringBuilder, _prettyPrint, _currentLevel + 1);
    4646                                _stringBuilder.Append (",");
    4747                                if (_prettyPrint) {
     
    6161                }
    6262
    63                 public static JSONObject Parse (string _json, ref int _offset) {
     63                public static JsonObject Parse (string _json, ref int _offset) {
    6464                        //Log.Out ("ParseObject enter (" + offset + ")");
    65                         JSONObject obj = new JSONObject ();
     65                        JsonObject obj = new JsonObject ();
    6666
    6767                        bool nextElemAllowed = true;
     
    7272                                        case '"':
    7373                                                if (nextElemAllowed) {
    74                                                         JSONString key = JSONString.Parse (_json, ref _offset);
     74                                                        JsonString key = JsonString.Parse (_json, ref _offset);
    7575                                                        Parser.SkipWhitespace (_json, ref _offset);
    7676                                                        if (_json [_offset] != ':') {
    77                                                                 throw new MalformedJSONException (
     77                                                                throw new MalformedJsonException (
    7878                                                                        "Could not parse object, missing colon (\":\") after key");
    7979                                                        }
    8080
    8181                                                        _offset++;
    82                                                         JSONNode val = Parser.ParseInternal (_json, ref _offset);
     82                                                        JsonNode val = Parser.ParseInternal (_json, ref _offset);
    8383                                                        obj.Add (key.GetString (), val);
    8484                                                        nextElemAllowed = false;
    8585                                                } else {
    86                                                         throw new MalformedJSONException (
     86                                                        throw new MalformedJsonException (
    8787                                                                "Could not parse object, found new key without a separating comma");
    8888                                                }
     
    9494                                                        _offset++;
    9595                                                } else {
    96                                                         throw new MalformedJSONException (
     96                                                        throw new MalformedJsonException (
    9797                                                                "Could not parse object, found a comma without a key/value pair first");
    9898                                                }
Note: See TracChangeset for help on using the changeset viewer.