javascript - 将文本项转换为 JSON

标签 javascript json string

我有一个文本,其中包含下一个格式的 mani 列表项:

var text = "<li>M3-2200 (da2/M3-2200)</li><li>N3-2200 (da2/N3-2200)</li><li>Picasso (picasso/A500)</li><li>Picasso (picasso/A501)</li><li>Picasso (ventana/A500)</li>..."

我正在尝试创建下一种格式的 JSON:

{
     name: "M3-2200",
     Model: "M3-2200"    
}

我正在尝试使用下一个代码,但它不起作用,我的问题是推送。任何人都可以解释我该怎么做?

result ={};
while(text.indexOf("<li>")!== -1){
    var listi = text.substring(text.indexOf("<li>"), text.indexOf("</li>"));
    var model = listi.substring(0, listi.indexOf("(") -1);
    var name = listi.substring(listi.indexOf("("), listi.indexOf(")"));
    var item = {name: name: model : model};
    result.push(item);
    var text = text.substring(text.indexOf("</li>"));
}

最佳答案

解决您问题的其他解决方案:

var text = "<li>M3-2200 (da2/M3-2200)</li><li>N3-2200 (da2/N3-2200)</li><li>Picasso (picasso/A500)</li><li>Picasso (picasso/A501)</li><li>Picasso (ventana/A500)</li>";
var result = JSON.parse('[' + 
  text.replace(/(<li>|<\/li>| \(|\))/g, function(_, part){
    switch (part) {
      case '<li>': return '{"name":"';
      case '</li>': return '},';
      case ' (': return '", "Model":"';
      case ')': return '"';
    }
  }) + '0]').slice(0, -1);

关于javascript - 将文本项转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335990/

相关文章:

string - golang 扫描字符串或整数

c++ - 字符串连接,错误

javascript - 从 jQuery/Js 添加类到谷歌标记

java - 如何在值类型和键值对数量未知的情况下 HashMap JSON 的键值对

json - 连接到 REST API 的 Wordpress 插件?

java - 用一个 <br> 替换所有连续的 "\r\n or\n"

javascript - 如何通过消除双重等待和 DRY 代码进行重构?

javascript - 仅针对所选项目隐藏和显示 vue.js 模板内的 div?

javascript - 文本框的字符限制

json - 使用AFNetworking检索JSON的问题