JSON解析对象和通配符
JSON parsed object and wild card
我有一个函数,应该检查旧数据对数据。我正在解析数据和oldData,以分别获得一个JSON对象,因为dbData和formData只是包含html表单的ID和值的字符串。该函数的目的是检查用户是否对HTML表单中的某些文本区域进行了任何文本更改。我想通过检查每个文本区域的ID来做到这一点,然后检查formData和Data中的值是否相同。在这种情况下,没有进行任何更改,函数将返回true。
解析的数据字符串看起来像这样:
"[{'"texts'":[{'"default'":true,'"bread-texts'":false,'"textarea1'":'"Banana'",'"textarea2'":'"Kiwi'",'"textarea3'":'Apple '",'"textarea4'":'"coffe'",'"textarea5'":'"Tea'",'"signature'":true,'"profile'":'"header'",'"fontsize'":'"26'",'"fontsize-headers'":'"10.5'",'"fontcolor'":'"#0000'",'"textfont'":'"header-large'",'"textsub1'":'"Bold'",'"font'":'"ICA%20Text'",'"textsub'":'"Regular'",'"textsize'":'"20'",'"textsize-signature'":'"9.5'",'"textsizesmall'":'"5.5'",'"textsizesmall-placer'":'"2.75'",'"vers-placer'":'"false'",'"text-colored'":'"%23000000'",'"s-all-customers'":true,'"new-customers'":true,'"undefined'":'"'"}]}]"
因此,例如,我必须检查dbData和formData中的"textarea1"的ID,然后检查值是否相同。这可以使用通配符或有更好的方式来归档?
function CheckValues() {
var isChanged = false;
var formData = $.parseJSON(data);
var dbData = $.parseJSON(oldData);
if(formData !== dbData) {
var isChanged = true;
}
return isChanged;
}
The code shown below works in IE9+, Chrome, FireFox but other
browsers yet to test. The example shows two different values, data and
OldData - data contains "Tea" where as OldData contains "OldTea" so
isChanged flag is true.
function CheckValues() {
var data = "{'"disable'":false,'"textarea1
'":'"Banana'",'"textarea2'":'"Kiwi'",'"textarea3
'":'"Milk'",'"textarea4'":'"Coffe'",'"textarea5'":'"Tea'"}";
var oldData = "{'"disable'":false,'"textarea1
'":'"Banana'",'"textarea2'":'"Kiwi'",'"textarea3
'":'"Milk'",'"textarea4'":'"Coffe'",'"textarea5'":'"OldTea'"}";
var formData = JSON.parse(data);
var dbData = JSON.parse(oldData);
var oFormData = Object.keys(formData);
var oDbData = Object.keys(dbData);
var isChanged = false;
if (oFormData.length === oDbData.length)
{
for (var i = 0; i < oFormData.length; i++) {
var propName = oFormData[i];
if (typeof (dbData[propName]) === "undefined") {
isChanged = true;
break;
}
else {
if (formData[propName] !== dbData[propName]) {
isChanged = true;
break;
}
}
}
}
}
相关文章:
- JavaScript中的通配符日期形式
- JavaScript上的通配符(也许这不费吹灰之力?)
- 带有通配符的姓氏Reg表达式
- Mongoose:布尔型'或者'使用通配符查询
- jQuery的通配符委派
- 聚合物和页面.js路由中的通配符
- javascript中通配符搜索的正则表达式
- Node.js/Expss.js.如果与通配符路由器一起使用,则无法识别静态路由器
- 如何在JQuery中使用带有.html的通配符
- 如何解释BusterJS测试路径中的通配符
- Javascript-IF语句中的通配符
- jQuery选择器中的通配符
- 函数调用中的javascript通配符
- OData:对url请求中的数字(ID)字段进行通配符(startswith)筛选
- Javascript:通配符正则表达式搜索
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- JSON解析对象和通配符
- MooTools -对象.包含通配符
- JavaScript访问对象通配符为关键
- 使用通配符选择对象ID时遇到问题