【问题标题】:Javascript json data read problem for double quote双引号的Javascript json数据读取问题
【发布时间】:2023-04-01 10:14:01
【问题描述】:

我将 json 数据传递给 Google Chart 的 javascript。 我的json数据格式是

["Md. Aslam",170972.7,"gold"]

但在 google chart javascript 显示像

["JIANGSU LTD",170972.7,"gold"]

这里显示"" 相关 正如我给出的那样,我需要" 的这些数据。我该如何解决?

我的控制器(从数据发送):​​

def data1 = table.executeQuery("select name, point from table") as JSON
render(view: "/report", model: [data1: data1])

我的 report.gsp(谷歌图表视图):

<script type="text/javascript">
        google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(drawVisualization);

        function drawVisualization() {
            google.charts.load("current", {packages:['corechart']});
            google.charts.setOnLoadCallback(drawChart);
            function drawChart() {
                var data = google.visualization.arrayToDataTable([
                    [ 'Element', "Density", { role: "style" } ],
                    ${data1}
                ]);

                var view = new google.visualization.DataView(data);
                view.setColumns([0, 1,
                    { calc: "stringify",
                        sourceColumn: 1,
                        type: "string",
                        role: "annotation" },
                    2]);

                var options = {
                    title: "Density of Precious Metals, in g/cm^3",
                    width: 600,
                    height: 400,
                    bar: {groupWidth: "95%"},
                    legend: { position: "none" },
                };
                var chart = new google.visualization.ColumnChart(document.getElementById("ord_variation"));
                chart.draw(view, options);
        }}
    </script>

我正在使用 groovy/grails 3

【问题讨论】:

  • 请注意 Java != Javascript
  • 我知道@mark
  • 您介意分享一下您如何将数据传递到 Google 图表的代码 sn-p 吗?
  • 我正在使用 groovy/grails。这是我的控制器: def data1 = table.executeQuery("select name, point from table") as JSON render(view: "/report", model: [data1: data1]) 在视图中我在谷歌图表中接收为: ${data1}
  • render(contentType:"application/json")在渲染为json之前设置了吗?

标签: javascript json grails


【解决方案1】:

最后我的解决方案是 report.gsp

<g:applyCodec encodeAs="none">
    ${data1};
</g:applyCodec>

【讨论】:

    【解决方案2】:

    如下更改您的代码:

    <script type="text/javascript">
    
    var j = "${data}"; // data is your json data came from controller
        var result = JSON.parse((j.split("&quot;").join('"')).split("=").join(':')); //use result object
    
    </script>
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-03
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      相关资源
      最近更新 更多