The embodiment of this application shows an editing method, device and system for JSON data, which includes: dividing the JSON data structure into several nodes; parsing the node information corresponding to each node, including node depth, node path, and node key pair; generating a one-dimensional array according to the node information and editing instructions; Dimensional arrays are converted into JSON objects, and the JSON objects are serialized into strings. This application is to implement the method shown. Firstly, the JSON data structure is divided into several nodes; the corresponding node information of each node is parsed to get a one-dimensional array; when the JSON data structure is edited by adding and modifying, the data in the one-dimensional array is operated according to editing instructions and node paths. There is no need to increase the configuration of nodes, which saves the idle memory, does not increase the system operating load, and improves the efficiency of the system.
【技术实现步骤摘要】
一种JSON数据的编辑方法,装置及系统
本专利技术涉及计算机
,特别涉及一种JSON数据的编辑方法,装置及系统。
技术介绍
JSON(英文全称:JavaScriptObjectNotation)是一种轻量级的数据交换格式。它是基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言的习惯,这些特性使JSON成为理想的数据交换语言,其易于人阅读和编写,同时也易于机器解析和生成。程序员在JSON数据结构中找到目标节点的过程中,往往无从下手,为了方便程序员对节点的查找,通常经JSON数据转化为图表的格式。例如图1为一个典型的树状图表的JSON数据结构,图中,每个字母代表一个节点,通过图1示出的JSON数据结构,程序员可以快速的找到目标节点,同时可以清楚的看出各节点之间的层级关系。通常每个节点都存在Key和Value两个属性。在存储大量的配置信息时,JSON数据结构首先将数据按照key-value键值对的形式进行序列化,进而为每一个键值对动态申请内存,并把相应的数据通过关系链的形式存放到相应的内存中。通常,JSON数据结构具有很强的扩展性,通常需要根据用户的需求,对JSON数据结构随时进行添加、修改等编辑操作;现有技术示出的JSON数据结构,在对JSON数据结构进行添加、修改等操作的过程中,需要破坏节点之的“父子”关系,再次为所有的节点按照key-value键值对的形式进行序列化,为每一个键值对动态申请内存增加大量的节点,在此过程中占用 ...
【技术保护点】
1.一种JSON数据的编辑方法,其特征在于,所述方法包括:将JSON数据结构分割成若干节点;解析每个节点对应的节点信息,所述节点信息包括节点深度,节点路径,以及,节点键值对;根据所述节点信息,以及,编辑指令,生成一维数组;将所述一维数组转化为JSON对象,将所述JSON对象序列化转化为字符串。
【技术特征摘要】
1.一种JSON数据的编辑方法,其特征在于,所述方法包括:将JSON数据结构分割成若干节点;解析每个节点对应的节点信息,所述节点信息包括节点深度,节点路径,以及,节点键值对;根据所述节点信息,以及,编辑指令,生成一维数组;将所述一维数组转化为JSON对象,将所述JSON对象序列化转化为字符串。2.根据权利要求1所述的方法,其特征在于,所述根据节点信息,以及,编辑指令,生成一维数组的步骤具体为:根据所述节点深度确定所述节点的像素;根据所述像素,节点信息,以及,编辑指令生成一维数组。3.根据权利要求1所述的方法,其特征在于,所述将JSON数据结构分割成若干节点的步骤具体为;将JSON数据结构按照从上到下,从内到外的预置规则,分割成若干节点。4.根据权利要求3所述的方法,其特征在于,所述将一维数组转化为JSON对象的步骤包括:遍历所述一维数组中的每个节点;判断所述节点是否为复合节点;如果所述节点为复合节点,确定所述节点对应的子节点;根据所述复合节点与所述子节点的层级关系生成JSON对象。5.根据权利要求1-4任一项所述的方法,其特征在于,根据所述节点信息,以及,编辑指令,生成一维数组的步骤包括:根据所述节点信息,生成一维数组;接收针对任意一个节点的删除指令;读取所述删除指令对应的删除路径;根据所述删除路径,确定待删除节点,删除所述待删除节点的节点信息,更新一维数组。6.根据权利要求5所述的方法,其特征在于,所述根据删除路径,确定待删除节点;删除所述待删除节点的节点信息的步骤包括:根据删除路径,确定待删除节点;判断所述待删除节点是否为复合节点;如果所述待删除节点为复合节点,遍历所述一维数组,确定出所述待删除节点的子节点为待删除子节点;删除待删除节点的节点信息,以及,待删除子节点的节点信息;如果所述待删除节点不是复合节点,删除所述待删除节点的节点信息。7.根据权利要...
【专利技术属性】
技术研发人员:张加鹏,李树亮,邱慧,
申请(专利权)人:车伯乐北京信息科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。