首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较两个嵌套的json对象rails 3

比较两个嵌套的json对象rails 3
EN

Stack Overflow用户
提问于 2012-01-05 17:10:56
回答 3查看 1.8K关注 0票数 2

我正在使用Rails3&使用act_as_tree。如何在嵌套的json上迭代,以便找出两个节点之间的差异?

我想要比较的json如下所示:

代码语言:javascript
复制
{    
    "text": "To Do",
    "children": [{
        "text": "Go jogging",
        "children":[]
    }, {
        "text": "Take a nap",
        "children":[]
    }]
 }

代码语言:javascript
复制
 {    
     "text": "To Do",
     "children": [{
         "text": "Climb Everest",
         "children":[]
     }]
 }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-05 22:12:34

显示不同之处-我猜你需要将JSON反序列化为结构,并比较对象。在我看来,这是最简单的方法。

票数 1
EN

Stack Overflow用户

发布于 2014-10-07 06:05:13

请看一下https://rubygems.org/gems/json-compare

可以做一些事情来获得差异:

代码语言:javascript
复制
require 'yajl'
require 'json-compare'

json1 = File.new('spec/fixtures/twitter-search.json', 'r')
json2 = File.new('spec/fixtures/twitter-search2.json', 'r')
old, new = Yajl::Parser.parse(json1), Yajl::Parser.parse(json2)
result = JsonCompare.get_diff(old, new)
票数 2
EN

Stack Overflow用户

发布于 2014-11-22 23:24:05

正如OhadR提到的,反序列化和比较对象似乎是一种可行的方法。

要做到这一点,请查看以下gem:

https://github.com/liufengyun/hashdiff

它甚至有一个比较JSON和YAML结构并显示差异的online demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8739993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档