通过JQuery将字符串转换为JSON
Convert String into JSON through JQuery
字符串为:
AVG(Disk Usage,CPU USAGE,NETWORK USAGE,SUM(Shared Memory Usage,System Memory Usage))
所需输出:
{
"operation": "AVG",
"rules": [
{
"field": "Disk Usage"
},
{
"field": "CPU Usage"
},
{
"field": "Network Usage"
},
{
"operation": "SUM",
"rules": [
{
"field": "Shared Memory Usage"
},
{
"field": "System Memory Usage"
}
]
}
]
}
我已经使用一些正则表达式模式RegExp.exec
、String.split
和Array.map
函数为您的案例编写了解决方案
我还添加了一个嵌套运算符来处理复杂的示例
希望它能有所帮助。。。
var str = "AVG(Disk Usage,CPU USAGE,NETWORK USAGE,SUM(Shared Memory Usage,System Memory Usage),COUNT(Processes,Services))",
re = /('w+?)'(([^()]+)(?=,'w+?'()|(?:,'))?('w+?)'(([^)]+)/g, m, idx,
obj = {}, result = {};
while ((m = re.exec(str)) !== null) {
idx = m.index; // position of the current matched item in the initial input string
m = m.filter((v) => v); // to get consecutive filled matched items
obj = {'operation': m[1], 'rules' : m[2].split(",").map((v) => ({'field':v}))};
if (idx === 0) { // the first function(operator) i.e. "AVG"
result = obj;
} else {
result['rules'].push(obj);
}
}
console.log(JSON.stringify(result, 0, 4));
输出:
{
"operation": "AVG",
"rules": [
{
"field": "Disk Usage"
},
{
"field": "CPU USAGE"
},
{
"field": "NETWORK USAGE"
},
{
"operation": "SUM",
"rules": [
{
"field": "Shared Memory Usage"
},
{
"field": "System Memory Usage"
}
]
},
{
"operation": "COUNT",
"rules": [
{
"field": "Processes"
},
{
"field": "Services"
}
]
}
]
}
试试看:
JSON.parse(jsonObj); //javascript
你应该这样做:
var jsonObj = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}';
var obj = $.parseJSON(jsonObj);
希望它能有所帮助;)
相关文章:
- DOM事件通过JSON转换为java
- 将日期时间从json转换为可读格式
- 如何将JSON转换为HTML下拉菜单
- 将JSON转换为放入Sdcard中的CSV文件
- 将JSON转换为typescript中的字符串数组
- 无法在Angular.js中将JSON转换为数组
- 使用jquery将json转换为数组
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- 用D3js将JSON转换为SVG平面图
- 数组json转换为数组json
- 将JSON转换为特定的字符串格式
- 使用AJAX将JSON转换为PHP
- 使用JQuery将JSON转换为数组
- 使用 PHP 将 JSON 转换为 JavaScript
- 将 JavaScript 程序从 JSON 转换为 XML
- 将 JSON 转换为 CSV 格式
- 将 json 转换为 html 表的 JavaScript 不起作用
- 使用 D3 将分层 JSON 转换为 HTML
- 余烬原始 JSON 转换不起作用,但例外
- 如何将JSON转换为角度的HTML