Javascript 来自嵌套JSON数据的动态表

Javascript 来自嵌套JSON数据的动态表,javascript,jquery,json,frontend,Javascript,Jquery,Json,Frontend,试图通过嵌套JSON的迭代来解决问题, 但它需要一些建议。 无法在一行中正确生成和获取多个值的标记。(子表应该是新的th标记。这是我尝试实现的结果示例。) 谢谢你的建议 FICO评分 全部≥ 7600.50%0.375%0.25%0%-0.25% 产品740-759 0.375%0.125%0%-0.375%-0.625% 720-739 0.25%-0.125%-0.375%-0.625%-1.00% 700-719 0.125%-0.375%-0.625%不合格 它们应该是多个。 请看下面我

试图通过嵌套JSON的迭代来解决问题, 但它需要一些建议。 无法在一行中正确生成和获取多个值的标记。(子表应该是新的th标记。这是我尝试实现的结果示例。) 谢谢你的建议

FICO评分

全部≥ 7600.50%0.375%0.25%0%-0.25% 产品740-759 0.375%0.125%0%-0.375%-0.625%
720-739 0.25%-0.125%-0.375%-0.625%-1.00%
700-719 0.125%-0.375%-0.625%不合格

它们应该是多个。 请看下面我的代码 谢谢你的建议

    `var updated = jQuery.parseJSON(localStorage.getItem("tableJson"));


    function loop(obj, ul) {
        $.each(obj, function(key, val) {
            if(val && typeof val === "object") { // object, call recursively
                var ul2 = $("<td>").appendTo(
                    $("<tr>").appendTo(ul)
                );

                loop(val, ul2);
            } else {
                $("<td style='background-color: orange; color: white;;'>", {
                    id: key
                }).text(val).appendTo(ul);
            }
        });
    }


           var table = $("<table>");

           loop(updated, table);

        table.addClass("table").appendTo('#data');


            } else {
                $("<td style='background-color: orange; color: white;'>", {
                    id: key
                  }).text(val).appendTo(ul);
                }
            });
         }


           var table = $("<table>");

           loop(updated, table);

          table.addClass("table").appendTo('#data');

 `
              {
  "table": [
    {
      "subTable": [
        {
          "line": [
            "Fees"

          ]
        },
        {
          "line": [
            "Lender Fee",
            "$895"
          ]
        },
        {
          "line": [
            "Tax Service Fee",
            "$69"
          ]
        },
        {
          "line": [
            "Flood Certification Fee",
            "$12"
          ]
        },
        {
          "line": [
            "Texas Doc Prep Fee",
            "$150"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Max of LTV/CLTV/HCLTV Ratio"

          ]
        },
        {
          "line": [
            "≤ 60",
            "60.01-65",
            "65.01-70",
            "70.01-75",
            "75.01-80"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "FICO Score"

          ]
        },
        {
          "line": [
            "All Eligible Products",
            "≥ 760",
            "0.50%",
            "0.375%",
            "0.25%",
            "0%",
            "-0.25%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "740 - 759",
            "0.375%",
            "0.125%",
            "0%",
            "-0.375%",
            "-0.625%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "720 - 739",
            "0.25%",
            "-0.125%",
            "-0.375%",
            "-0.625%",
            "-1.00%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "700 - 719",
            "0.125%",
            "-0.375%",
            "-0.625%",
            "Not Eligible",
            "Not Eligible"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Loan Amount"

          ]
        },
        {
          "line": [
            "All Eligible Products",
            "Up to $1M",
            "0.25%",
            "0.25%",
            "0.125%",
            "0%",
            "0%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            ">$1M Up to $1.5M",
            "0.25%",
            "0%",
            "-0.125%",
            "-0.25%",
            "-0.375%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            ">$1.5M Up to $2M",
            "0.125%",
            "0%",
            "-0.25%",
            "-0.375%",
            "Not Elig."
          ]
        },
        {
          "line": [
            "All Eligible Products",
            ">$2M Up to $2.5M",
            "0%",
            "-0.125%",
            "Not Eligible",
            "Not Eligible",
            "Not Eligible"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Loan Purpose/Occupancy/Property Type"

          ]
        },
        {
          "line": [
            "All Eligible Products",
            "Purchase",
            "0.25%",
            "0.25%",
            "0.25%",
            "0.25%",
            "0.250%"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "Cash-Out Refinance",
            "-0.250%",
            "-0.250%",
            "-0.250%",
            "Not Eligible",
            "Not Eligible"
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "Second Home",
            "-0.125%",
            "-0.25%",
            "-0.375%",
            "-0.75%",
            "Not Elig."
          ]
        },
        {
          "line": [
            "All Eligible Products",
            "2 Units",
            "-0.25%",
            "-0.25%",
            "Not Eligible",
            "Not Eligible",
            "Not Eligible"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Miscellaneous"

          ]
        },
        {
          "line": [
            "BE DTI > 40%",
            "BE DTI > 40%",
            "-0.625%",
            "-0.625%",
            "-0.625%",
            "-0.625%",
            "-0.625%"
          ]
        },
        {
          "line": [
            "Partial/No Impounds",
            "All States",
            "-0.15%",
            "-0.15%",
            "-0.15%",
            "-0.15%",
            "-0.15%"
          ]
        },
        {
          "line": [
            "Subordinate Financing",
            "Subordinate Financing",
            "-0.25%",
            "-0.25%",
            "-0.25%",
            "-0.25%",
            "-0.25%"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Eligible Broker Incentives"

          ]
        },
        {
          "line": [
            "Tier",
            "Super Elite",
            "Elite",
            "Gold",
            "Silver",
            "Bronze"
          ]
        },
        {
          "line": [
            "Elite Bonus",
            "0.250%",
            "0.125%",
            "0%",
            "0%",
            "0%"
          ]
        },
        {
          "line": [
            "Ethos Edge*",
            "0.125%",
            "0.125%",
            "0.125%",
            "0%",
            "0%"
          ]
        },
        {
          "line": [
            "Purchase Special (Purchase Primary Residence)",
            "0.125%",
            "0.125%",
            "0.125%",
            "0.125%",
            "0%"
          ]
        }
      ]
    },
    {
      "subTable": [
        {
          "line": [
            "Max Price (Including All Adjustments)"

          ]
        },
        {
          "line": [
            "Loan Amount",
            "≤ $1M",
            ">$1M"
          ]
        },
        {
          "line": [
            "Fixed 30-Year",
            "102.00",
            "101.50"
          ]
        },
        {
          "line": [
            "Fixed 15-Year",
            "101.50",
            "101.25"
          ]
        },
        {
          "line": [
            "5/1 ARM",
            "100.85",
            "100.75"
          ]
        },
        {
          "line": [
            "7/1 ARM",
            "100.85",
            "100.75"
          ]
        }
      ]
    }
  ]
}
var updated=jQuery.parseJSON(localStorage.getItem(“tableJson”); 功能回路(obj、ul){ $。每个(对象、功能(键、值){ 如果(val&&typeof val==“object”){//object,则递归调用 变量ul2=$(“”)。附加到( $(“”)。附录(ul) ); 环路(val,ul2); }否则{ $("", { id:钥匙 }).文本(val).附录(ul); } }); } 变量表=$(“”); 循环(更新,表格); table.addClass(“table”).appendTo(“#data”); }否则{ $("", { id:钥匙 }).文本(val).附录(ul); } }); } 变量表=$(“”); 循环(更新,表格); table.addClass(“table”).appendTo(“#data”); ` { “表格”:[ { “子表”:[ { “行”:[ “费用” ] }, { “行”:[ “贷款人费用”, "$895" ] }, { “行”:[ “纳税服务费”, "$69" ] }, { “行”:[ “洪水认证费”, "$12" ] }, { “行”:[ “德克萨斯州医生准备费”, "$150" ] } ] }, { “子表”:[ { “行”:[ “LTV/CLTV/HCLTV比率的最大值” ] }, { “行”:[ "≤ 60", "60.01-65", "65.01-70", "70.01-75", "75.01-80" ] } ] }, { “子表”:[ { “行”:[ “FICO分数” ] }, { “行”:[ “所有合格产品”, "≥ 760", "0.50%", "0.375%", "0.25%", "0%", "-0.25%" ] }, { “行”:[ “所有合格产品”, "740 - 759", "0.375%", "0.125%", "0%", "-0.375%", "-0.625%" ] }, { “行”:[ “所有合格产品”, "720 - 739", "0.25%", "-0.125%", "-0.375%", "-0.625%", "-1.00%" ] }, { “行”:[ “所有合格产品”, "700 - 719", "0.125%", "-0.375%", "-0.625%", “不合格”, “不合格” ] } ] }, { “子表”:[ { “行”:[ “贷款金额” ] }, { “行”:[ “所有合格产品”, “高达100万美元”, "0.25%", "0.25%", "0.125%", "0%", "0%" ] }, { “行”:[ “所有合格产品”, “>100万美元至150万美元”, "0.25%", "0%", "-0.125%", "-0.25%", "-0.375%" ] }, { “行”:[ “所有合格产品”, “>150万美元至200万美元”, "0.125%", "0%", "-0.25%", "-0.375%", “不是伊莱格。” ] }, { “行”:[ “所有合格产品”, “>200万美元至250万美元”, "0%", "-0.125%", “不合格”, “不合格”, “不合格” ] } ] }, { “子表”:[ { “行”:[ “贷款用途/占用率/物业类型” ] }, { “行”:[ “所有合格产品”, “购买”, "0.25%", "0.25%", "0.25%", "0.25%", "0.250%" ] }, { “行”:[ “所有合格产品”, “套现再融资”, "-0.250%", "-0.250%", "-0.250%", “不合格”, “不合格” ] }, { “行”:[ “所有合格产品”, “第二个家”, "-0.125%", "-0.25%", "-0.375%", "-0.75%", “不是伊莱格。” ] }, { “行”:[ “所有合格产品”, “2个单位”, "-0.25%", "-0.25%", “不合格”, “不合格”, “不合格” ] } ] }, { “子表”:[ { “行”:[ “杂项” ] }, { “行”:[ “DTI大于40%”, “DTI大于40%”, "-0.625%", "-0.625%", "-0.625%", "-0.625%", "-0.625%" ] }, { “行”:[