OpenShot Audio Library | OpenShotAudio  0.3.1
juce_JSON.h
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2017 - ROLI Ltd.
6 
7  JUCE is an open source library subject to commercial or open-source
8  licensing.
9 
10  The code included in this file is provided under the terms of the ISC license
11  http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12  To use, copy, modify, and/or distribute this software for any purpose with or
13  without fee is hereby granted provided that the above copyright notice and
14  this permission notice appear in all copies.
15 
16  JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17  EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18  DISCLAIMED.
19 
20  ==============================================================================
21 */
22 
23 namespace juce
24 {
25 
26 //==============================================================================
38 class JUCE_API JSON
39 {
40 public:
41  //==============================================================================
56  static Result parse (const String& text, var& parsedResult);
57 
67  static var parse (const String& text);
68 
78  static var parse (const File& file);
79 
89  static var parse (InputStream& input);
90 
91  //==============================================================================
99  static String toString (const var& objectToFormat,
100  bool allOnOneLine = false,
101  int maximumDecimalPlaces = 15);
102 
108  static var fromString (StringRef);
109 
117  static void writeToStream (OutputStream& output,
118  const var& objectToFormat,
119  bool allOnOneLine = false,
120  int maximumDecimalPlaces = 15);
121 
123  static String escapeString (StringRef);
124 
129  static Result parseQuotedString (String::CharPointerType& text, var& result);
130 
131 private:
132  //==============================================================================
133  JSON() = delete; // This class can't be instantiated - just use its static methods.
134 };
135 
136 } // namespace juce