鍍金池/ 問答/Java  HTML/ JS中將特定格式的字符串轉化為json格式的問題

JS中將特定格式的字符串轉化為json格式的問題

一段字符串如下:
表名1@字段1~表名1@字段2~表名2@字段1~表名2@字段2

如何將其合理地處理為json格式

 {
     表名1:[字段1,字段2],
     表名2:[字段1, 字段2]
 }
回答
編輯回答
乖乖噠

大概就這樣吧

var str='表名1@字段1~表名1@字段2~表名2@字段1~表名2@字段2'
var arr=str.split("~")
var obj={}
for(var i=0;i<arr.length;i++){ 
  var temp=arr[i].split("@")
  var key=temp[0]
  var value=temp[1]
  obj[key]=(obj[key]||[]).concat([value])
}
console.log(JSON.stringify(obj))
2018年2月27日 08:57
編輯回答
情已空
var str = '表名1@字段1~表名1@字段2~表名2@字段1~表名2@字段2'

var obj = str.split('~').reduce((state, item) => {
  var [tname, fname] = item.split('@')
  if (state[tname]) {
    state[tname].push(fname)
  } else {
    state[tname] = [fname]
  }
  return state
}, {})
2018年8月1日 20:15