870920 Menu

JUCE类库JSON类详解

JSON类似于XML,同样基于文本结构,但没有节点的概念(代之以数组的形式来体现嵌套结构)。JSON的执行效率比XML更高,其基本格式为:

  • 开始于“{”,结束于“}”。每个属性名称和属性值之间用“:”来分隔,属性之间用“,”分隔
  • JSON的属性值可以是数组,数组开始于“[”,结束于“]”,数组元素之间用“,”分隔
  • 数组中的元素无属性名称,只有属性值
  • 数组中的元素可以是另一个完整的JSON
  • 属性值中的字符串由引号包裹,数字、true、false等数据则无需

JUCE类库的模块清单文件juce_module_info就采用了JSON格式,该文件的内容如下(部分):

JSON文档的格式与内容

JUCE类库的JSON类用于读写JSON文档,其所有成员函数全是static静态的,使用时无需创建对象,直接调用即可。该类可将JSON文档或JSON格式的字符串解析为var对象,并可将var对象转换为JSON格式的文本。

JSON类的静态函数
 parse () 基于给出的字符串、文件或输入流对象解析JSON,解析结果为var对象
 toString () 将给出的var对象转换为字符串对象,var对象的内容须符合JSON格式
 writeToStream () 将某个具有JSON格式的var对象写入给出的输出流对象中

注意:ValueTree可以与XmlElement互相转换,但无法和JSON进行任何转换,因为两者的数据格式有本质的差异。