如何使用jquery将LI的项转换为json对象?

前端之家收集整理的这篇文章主要介绍了如何使用jquery将LI的项转换为json对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有如下列表:
<ul class="nameList">
    <li value="1">Bob</li>
    <li value="2">Frank</li>
    <li value="3">Sally</li>
</ul>

如何将其转换为json对象,如下所示:

[{“id”:”1″,”title”:”Bob”},
{“id”:”2″,”title”:”Frank”},
{“id”:”3″,”title”:”Frank”}]

我需要将该数据转换为该格式,以便我可以通过$.post()调用将其传递回我的PHP服务器.

有人能告诉我如何从该列表中获取项目并使用jQuery将它们转换为上面的json吗?

解决方法

jQuery实际上有内置的东西来构建数组: map()
var items = $('.nameList').find('li').map(function() {
  var item = { };

  item.id = this.value;
  item.title = $(this).text();

  return item;
});

这将构建一个与您之后的JSON结构匹配的对象数组.然后,对于JSON序列化,使用JSON.stringify,它包含在较新的浏览器中,可用于包含json2.js的旧版浏览器:

// Produces [{'id':1,'title':'bob'},{etc},{etc}]
var json = JSON.stringify(items);

另请注意,$.post()会自动序列化对象数据参数,因为key1 = value1& key2 = value2& etc.除非您在服务器端严格需要JSON,否则可能不需要JSON序列化步骤.

猜你在找的jQuery相关文章