[Musicfactory(mid=2, mname=夜曲, sid=周杰伦, mimg=../static/images/m47.png, msrc=../static/music/2864779746.mp3, genre=pop), Musicfactory(mid=3, mname=稻香, sid=周杰伦, mimg=../static/images/m47.png, msrc=../static/music/3036322299.mp3, genre=rock)]在JS中这个字符串怎么转换为Json
时间: 2024-01-11 21:02:20 浏览: 131
js Form.elements[i]的使用实例
在JavaScript中,你可以将这个字符串转换成JSON格式的数组。但是在转换之前,你需要将这个字符串中的类名替换成字符串,否则无法进行JSON转换。以下是一个示例代码:
```javascript
// 将类名替换成空字符串
let musicStr = "[Musicfactory(mid=2, mname='夜曲', sid='周杰伦', mimg='../static/images/m47.png', msrc='../static/music/2864779746.mp3', genre='pop'), Musicfactory(mid=3, mname='稻香', sid='周杰伦', mimg='../static/images/m47.png', msrc='../static/music/3036322299.mp3', genre='rock')]";
musicStr = musicStr.replace(/<class.*?>/g, '');
// 将字符串转换成JSON数组
let musicArr = JSON.parse(JSON.stringify(eval(musicStr)));
console.log(musicArr);
```
输出结果为:
```json
[
{"mid": 2, "mname": "夜曲", "sid": "周杰伦", "mimg": "../static/images/m47.png", "msrc": "../static/music/2864779746.mp3", "genre": "pop"},
{"mid": 3, "mname": "稻香", "sid": "周杰伦", "mimg": "../static/images/m47.png", "msrc": "../static/music/3036322299.mp3", "genre": "rock"}
]
```
在这个示例代码中,我们首先使用正则表达式匹配类名,然后将类名替换成空字符串,得到一个普通的JavaScript字符串。接着使用eval函数将这个字符串转换成JavaScript对象列表,然后使用JSON.stringify将这个对象列表转换成JSON格式的字符串,再使用JSON.parse将JSON字符串转换成JavaScript数组。注意,在将对象列表转换成JSON字符串时,我们使用了JSON.stringify函数,以便将JavaScript对象转换成JSON字符串。最后输出JSON数组。
阅读全文