1.一種用于變換JSON數(shù)據(jù)的方法,所述方法包括:
在計(jì)算機(jī)處接收使用JavaScript對(duì)象標(biāo)記指定的第一對(duì)象,第一對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性具有預(yù)定的JSON數(shù)據(jù)類型并且具有至少一個(gè)值;
在所述計(jì)算機(jī)處接收使用JavaScript對(duì)象標(biāo)記指定的第二對(duì)象,第二對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性與第一對(duì)象的屬性的集合中的至少一個(gè)屬性對(duì)應(yīng)并且具有定義一個(gè)或多個(gè)變換的至少一個(gè)值;
由所述計(jì)算機(jī)基于第二對(duì)象將第一對(duì)象變換為使用JavaScript對(duì)象標(biāo)記指定的第三對(duì)象;及
將第三對(duì)象存儲(chǔ)在與所述計(jì)算機(jī)關(guān)聯(lián)的存儲(chǔ)設(shè)備中。
2.如權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)處接收第二對(duì)象包括:接收使用JavaScript對(duì)象標(biāo)記指定的、具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象。
3.如權(quán)利要求2所述的方法,其中接收具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象包括:接收具有與第一對(duì)象的屬性相同名稱的屬性。
4.如權(quán)利要求2所述的方法,其中接收具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象包括:接收具有對(duì)第一對(duì)象的屬性的名稱進(jìn)行引用的值的屬性。
5.如權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)處接收第二對(duì)象包括:接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性,該值指定要應(yīng)用到第一對(duì)象的屬性的名稱或第一對(duì)象的屬性的值的操作。
6.如權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)處接收第二對(duì)象包括:接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性,該值指定與第一對(duì)象的屬性的變換對(duì)應(yīng)的第三對(duì)象的屬性的數(shù)據(jù)類型。
7.如權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)處接收第二對(duì)象包括:接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性,該值指定對(duì)第一對(duì)象的一個(gè)或多個(gè)屬性的修改。
8.如權(quán)利要求1所述的方法,其中在所述計(jì)算機(jī)處接收第二對(duì)象包括:接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性,該值定義一個(gè)或多個(gè)測(cè)試,該一個(gè)或多個(gè)測(cè)試定義所述一個(gè)或多個(gè)變換是否能夠應(yīng)用到第一對(duì)象。
9.如權(quán)利要求8所述的方法,其中所述一個(gè)或多個(gè)測(cè)試是關(guān)于第一對(duì)象的一個(gè)或多個(gè)屬性定義的。
10.如權(quán)利要求8所述的方法,還包括:
由所述計(jì)算機(jī)確定所述一個(gè)或多個(gè)測(cè)試的肯定評(píng)估;及
由所述計(jì)算機(jī)基于所述一個(gè)或多個(gè)測(cè)試的肯定評(píng)估來執(zhí)行所述一個(gè)或多個(gè)變換。
11.如權(quán)利要求10所述的方法,其中由所述計(jì)算機(jī)執(zhí)行所述一個(gè)或多個(gè)變換包括:重命名第一對(duì)象的屬性、關(guān)于第一對(duì)象的屬性的值執(zhí)行一個(gè)或多個(gè)數(shù)值操作、關(guān)于第一對(duì)象的屬性的值執(zhí)行一個(gè)或多個(gè)字符串操作、將一個(gè)或多個(gè)屬性添加到第一對(duì)象的也作為對(duì)象的屬性、或者從第一對(duì)象的也作為對(duì)象的屬性中移除一個(gè)或多個(gè)屬性。
12.一種非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)能夠由計(jì)算機(jī)系統(tǒng)的處理器執(zhí)行來變換JSON數(shù)據(jù)的計(jì)算機(jī)程序產(chǎn)品,所述非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)包括:
用于接收使用JavaScript對(duì)象標(biāo)記指定的第一對(duì)象的代碼,第一對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性具有預(yù)定的JSON數(shù)據(jù)類型并且具有至少一個(gè)值;
用于接收使用JavaScript對(duì)象標(biāo)記指定的第二對(duì)象的代碼,第二對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性與第一對(duì)象的屬性的集合中的至少一個(gè)屬性對(duì)應(yīng)并且具有定義一個(gè)或多個(gè)變換的至少一個(gè)值;及
用于基于第二對(duì)象將第一對(duì)象變換為使用JavaScript對(duì)象標(biāo)記指定的第三對(duì)象的代碼。
13.如權(quán)利要求12所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收第二對(duì)象的代碼包括:用于接收使用JavaScript對(duì)象標(biāo)記指定的、具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象的代碼。
14.如權(quán)利要求13所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象的代碼包括:用于接收具有與第一對(duì)象的屬性相同名稱的屬性的代碼。
15.如權(quán)利要求13所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收具有名稱與第一對(duì)象的屬性的名稱對(duì)應(yīng)的屬性的對(duì)象的代碼包括:用于接收具有對(duì)第一對(duì)象的屬性的名稱進(jìn)行引用的值的屬性的代碼。
16.如權(quán)利要求12所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收第二對(duì)象的代碼包括:用于接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性的代碼,該值指定要應(yīng)用到第一對(duì)象的屬性的名稱或第一對(duì)象的屬性的值的操作。
17.如權(quán)利要求12所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收第二對(duì)象的代碼包括:用于接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性的代碼,該值指定與第一對(duì)象的屬性的變換對(duì)應(yīng)的第三對(duì)象的屬性的數(shù)據(jù)類型。
18.如權(quán)利要求12所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收第二對(duì)象的代碼包括:用于接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性的代碼,該值指定對(duì)第一對(duì)象的一個(gè)或多個(gè)屬性的修改。
19.如權(quán)利要求12所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于接收第二對(duì)象的代碼包括:用于接收使用JavaScript對(duì)象標(biāo)記指定的對(duì)象的具有如下值的屬性的代碼,該值定義一個(gè)或多個(gè)測(cè)試,該一個(gè)或多個(gè)測(cè)試定義所述一個(gè)或多個(gè)變換是否能夠應(yīng)用到第一對(duì)象。
20.如權(quán)利要求19所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述一個(gè)或多個(gè)測(cè)試是關(guān)于第一對(duì)象的一個(gè)或多個(gè)屬性定義的。
21.如權(quán)利要求19所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括:
用于確定所述一個(gè)或多個(gè)測(cè)試的肯定評(píng)估的代碼;及
用于基于所述一個(gè)或多個(gè)測(cè)試的肯定評(píng)估來執(zhí)行所述一個(gè)或多個(gè)變換的代碼。
22.如權(quán)利要求21所述的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),其中用于執(zhí)行所述一個(gè)或多個(gè)變換的代碼包括:用于重命名第一對(duì)象的屬性、關(guān)于第一對(duì)象的屬性的值執(zhí)行一個(gè)或多個(gè)數(shù)值操作、關(guān)于第一對(duì)象的屬性的值執(zhí)行一個(gè)或多個(gè)字符串操作、將一個(gè)或多個(gè)屬性添加到第一對(duì)象的也作為對(duì)象的屬性、或者從第一對(duì)象的也作為對(duì)象的屬性移除一個(gè)或多個(gè)屬性的代碼。
23.一種用于變換JSON數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括:
硬件處理器;及
存儲(chǔ)器,存儲(chǔ)指令集合,當(dāng)所述指令集合由所述處理器執(zhí)行時(shí),使所述處理器:
接收使用JavaScript對(duì)象標(biāo)記指定的第一對(duì)象,第一對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性具有預(yù)定的JSON數(shù)據(jù)類型并且具有至少一個(gè)值;
接收使用JavaScript對(duì)象標(biāo)記指定的第二對(duì)象,第二對(duì)象具有一個(gè)或多個(gè)屬性的集合,每個(gè)屬性與第一對(duì)象的屬性的集合中的至少一個(gè)屬性對(duì)應(yīng)并且具有定義一個(gè)或多個(gè)變換的至少一個(gè)值;及
基于第二對(duì)象將第一對(duì)象變換為使用JavaScript對(duì)象標(biāo)記指定的第三對(duì)象。