2017-05-11 16 views
-2

例の構造比較:2 JSON(オブジェクトの配列)JSONの

{ "array_name1" : [ 
     {"name":"John","age":"18","group":"user","country":"UK","hobby":"series","sport":"football"}, 
{"name":"Ted","age":"20","group":"user","country":"US"}, ...]} 

{ "array_name2" : [ 
     {"name":"John","age":"18","group":"admin","country":"UK","hobby":"series","sport":"football"}, 
{"name":"Ted","age":"20","group":"user","country":"US", sport:"tennis"}, 
{"name":"David","age":"20","group":"user", sport:"tennis"},...]} 

{ "array_name3" : [ 
     {"name":"John","age":"18","group":"admin","country":"UK","hobby":"series","sport":"football"}, 
{"name":"David","age":"20","group":"user", sport:"tennis"},...]} 

をIは、オブジェクトの2 JSON配列を比較しなければなりません。 オブジェクトの2つの異なる配列内の同じ名前のオブジェクトを比較する必要があります。 たとえば、array_name1とarray_name2を比較する必要があります。新しいオブジェクトがarray_name2に含まれていることを検出する必要があります。また私は、Johnからgroupへの値がユーザーから管理者に変更されたことを検出する必要があります。 array_name2とarray_name3を比較する必要がある場合は、ユーザーTedがarray_name3で削除されたことを検出する必要があります。

+2

...次のように試してみて、問題はあなたのコードを表示...です。 –

+0

私はコードを持っていない、私はちょうどどこからそれを開始するか分からない。 – Tewan

+2

あなたのタイトルをグーグルで検索 – mplungjan

答えて

1

var com = { "array_name1" : [ 
 
     {"name":"John","age":"18","group":"user","country":"UK","hobby":"series","sport":"football"}, 
 
{"name":"Ted","age":"20","group":"user","country":"US"}]}; 
 

 
var com1 = { "array_name2" : [ 
 
     {"name":"John","age":"18","group":"admin","country":"UK","hobby":"series","sport":"football"}, 
 
{"name":"Ted","age":"20","group":"user","country":"US", "sport":"tennis"}, 
 
{"name":"David","age":"20","group":"user", "sport":"tennis"}]} 
 

 
var com2 = { "array_name3" : [ 
 
     {"name":"John","age":"18","group":"admin","country":"UK","hobby":"series","sport":"football"}, 
 
{"name":"David","age":"20","group":"user", "sport":"tennis"}]}; 
 
var com3 = { "array_name3" : [ 
 
     {"name":"John","age":"18","group":"admin","country":"UK","hobby":"series","sport":"football"}, 
 
{"name":"David","age":"20","group":"user", "sport":"tennis"}]}; 
 
console.log(com.array_name1 === com1.array_name2); // direct compare 
 

 
function checkEqual(x,y) { 
 
    return JSON.stringify(x) === JSON.stringify(y); 
 
} 
 
console.log(checkEqual(com.array_name1, com1.array_name2)); 
 

 
console.log(checkEqual(com3.array_name3, com2.array_name3));

関連する問題