开发者社区> 问答> 正文

json数据如何读取完进行修改再写回源文件

现在问题是写好了一个树形的json文件,至于显示是另外的js读取这个json文件后显示的,而我想要的是在显示的时候有一个功能,比如点击某个子节点,那么这个子节点将变成根节点,整棵树根据这个节点变成根节点后的位置重新生成,再进行显示,树的修改的算法我大概想好了,但是json不会操作,如何进行这个读取还有修改后重新写入呢?树的结构部分如下:

 var flare_data = {
 "name": "flare",
 "children": [
  {
   "name": "analytics",
   "children": [
    {
     "name": "cluster",
     "children": [
      {"name": "AgglomerativeCluster", "size": 3938},
      {"name": "CommunityStructure", "size": 3812},
      {"name": "HierarchicalCluster", "size": 6714},
      {"name": "MergeEdge", "size": 743}
     ]
    },
    {
     "name": "graph",
     "children": [
      {"name": "BetweennessCentrality", "size": 3534},
      {"name": "LinkDistance", "size": 5731},
      {"name": "MaxFlowMinCut", "size": 7840},
      {"name": "ShortestPaths", "size": 5914},
      {"name": "SpanningTree", "size": 3416}
     ]

这样比如某个children将变成root的时候,怎么进行这个json文件的调整,求各位大大指导一下!

展开
收起
杨冬芳 2016-07-05 09:12:09 4430 0
1 条回答
写回答
取消 提交回答
  • IT从业

    请采纳!

    如果你学过数据结构,就知道树这种结构。

    有了树结构,你可以指示parentNode、ChildNodes,来控制节点的父子关系。

    那么你选中一个节点为新的根节点,只需要按你的需求调整其它子树的parentNodechildNodes即可。

    有了这个基础,来看你的问题,你需要的只是将json文本反序列化为一棵json树,或者一个json对象。

    如果你在客户端做,jQuery提供了这种方法:$.parseJSON(json);
    如果你在服务端做,java、php、.Net都提供了反序列化json为json对象的包,比如java可用jackson

    2019-07-17 19:51:09
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载