biggod_ 2015-05-09 07:19 采纳率: 100%
浏览 4417
已采纳

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文件的调整,求各位大大指导一下!

  • 写回答

1条回答 默认 最新

  • foreach_break 2015-05-09 07:57
    关注

    请采纳!

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

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

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘