2012-01-05 52 views
2

我正在使用rails 3 &使用act_as_tree。我如何迭代嵌套的json,以便我可以找到兩個節點之間的區別?比較兩個嵌套的json對象rails 3

JSON,我想比較如下所示:

{  
    "text": "To Do", 
    "children": [{ 
     "text": "Go jogging", 
     "children":[] 
    }, { 
     "text": "Take a nap", 
     "children":[] 
    }] 
} 

{  
    "text": "To Do", 
    "children": [{ 
     "text": "Climb Everest", 
     "children":[] 
    }] 
} 
+0

看看這個:http://stackoverflow.com/questions/4465244/compare-2-json-objects?answertab=votes#tab-top – 2012-01-05 09:28:07

回答

1

顯示的diff - 我猜你需要的JSONs反序列化爲結構和比較的對象。這在我看來是最簡單的方法。

2

請看看https://rubygems.org/gems/json-compare

有可能做一些事情來獲得DIFF:

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)