Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将HTML列表转换为JSON_Javascript_Jquery_Json - Fatal编程技术网

Javascript 将HTML列表转换为JSON

Javascript 将HTML列表转换为JSON,javascript,jquery,json,Javascript,Jquery,Json,我对转换为JSON的HTML模板有点问题我希望将HTML消息列表转换为JSON。提前感谢您的回复 HTML模板 <div class="message"> <div class="message-data"> <div class="infos"> <h4 class="pseudo">Name</h4> <span class="date">MM/DD

我对转换为JSON的HTML模板有点问题我希望将HTML消息列表转换为JSON。提前感谢您的回复

HTML模板

<div class="message">
    <div class="message-data">
        <div class="infos">
            <h4 class="pseudo">Name</h4>
            <span class="date">MM/DD/YYYY</span>
            <span class="time">HH:MM</span>
        </div>
    </div>
    <div class="message-content">
        <div class="message-text">
            Message here
        </div>
    </div>
</div>

<!-- Others .message -->

您可以使用
jQuery
html
中提取日期:

var结果=[];
$(“.message”).each(函数(){
var obj={
pseudo:$(this.find(“.pseudo”).text(),
日期:$(this).find(“.date”).text(),
时间:$(this.find(“.time”).text(),
消息:$(this).find(“.message text”).text(),
};
结果:推送(obj);
})
console.log(结果)

名称
年月日
嗯
留言
约翰
09/11/2011
嗯
世界灾难

您可以使用
jQuery
html
中提取日期:

var结果=[];
$(“.message”).each(函数(){
var obj={
pseudo:$(this.find(“.pseudo”).text(),
日期:$(this).find(“.date”).text(),
时间:$(this.find(“.time”).text(),
消息:$(this).find(“.message text”).text(),
};
结果:推送(obj);
})
console.log(结果)

名称
年月日
嗯
留言
约翰
09/11/2011
嗯
世界灾难

只需获取所有
.message
元素,并循环遍历它们,将它们的属性添加到结果数组中(我使用
trim()
删除消息文本开头和结尾的额外空格):

console.log(messagesToJSON());
函数messagesToJSON(){
var messages=[],
元素=$('.message');

对于(var i=0;i只需获取所有
.message
元素,并循环遍历它们,将它们的属性添加到结果数组中(我使用
trim()
删除消息文本开头和结尾的额外空格):

console.log(messagesToJSON());
函数messagesToJSON(){
var messages=[],
元素=$('.message');

对于(var i=0;i即使它看起来不那么酷,我认为这会快得多:

var pseudo = document.getElementsByClassName("pseudo");
var date = document.getElementsByClassName("date");
var time = document.getElementsByClassName("time");
var message = document.getElementsByClassName("message-text");

var list = [];
for(var i=0, l=pseudo.length;i<l;i++) {
 list.push({
    pseudo: pseudo[i].textContent,
    data: date[i].textContent,
    time: time[i].textContent,
    message: message[i].textContent
 })
}
console.log(list);
var pseudo=document.getElementsByClassName(“pseudo”);
var date=document.getElementsByClassName(“日期”);
var time=document.getElementsByClassName(“时间”);
var message=document.getElementsByClassName(“消息文本”);
var列表=[];

对于(var i=0,l=pseudo.length;i即使它看起来不那么酷,我认为这会快得多:

var pseudo = document.getElementsByClassName("pseudo");
var date = document.getElementsByClassName("date");
var time = document.getElementsByClassName("time");
var message = document.getElementsByClassName("message-text");

var list = [];
for(var i=0, l=pseudo.length;i<l;i++) {
 list.push({
    pseudo: pseudo[i].textContent,
    data: date[i].textContent,
    time: time[i].textContent,
    message: message[i].textContent
 })
}
console.log(list);
var pseudo=document.getElementsByClassName(“pseudo”);
var date=document.getElementsByClassName(“日期”);
var time=document.getElementsByClassName(“时间”);
var message=document.getElementsByClassName(“消息文本”);
var列表=[];

对于(var i=0,l=pseudo.length;i您的问题是什么?您能发布您迄今为止尝试的不起作用的内容吗?如果您做了一些性能测试来评估发布的解决方案,请将它们添加为注释您的问题是什么?您能发布您迄今为止尝试的不起作用的内容吗?如果您做了一些性能测试来评估发布的解决方案,请添加他们作为评论