首页 > 解决方案 > 在asp中将字符串转换为json数组

问题描述

嗨,我从 asp 获取字符串值并将字符串值传递给 json。现在我想转换为数组。这是我的代码

     var dataset = [{
    "measure": "Sheet",
    "interval_s": 365 * 24 * 60 * 60,
     "data": $(function () {
        $("<%=lbl.ClientID%>").load(function () {
            var string = $( document.getElementById("<%=lbl.ClientID%>")).innerHTML();
            var splitstr = string.split(',');
            var result = "";
            for (i = 0; i < splitstr.length; i++) {
                result += (splitstr[i]);
            }
        })
    })

    }];

并且字符串输入是

** ['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],['2018-09-17 15:53:30',1,'2018 -09-17 17:35:55'],['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']**

我需要的输出是数组格式

 ['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],
  ['2018-09-17 > 15:53:30',1,'2018-09-17 17:35:55'], 
 ['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']

标签: javascriptjqueryasp.net

解决方案


您可以使用 split 功能将其添加到列表中。假设您将字符串放在名为 x 的变量中。x 获取您的输入字符串。所以

var stringValues = "['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],['2018-09-17 15:53:30',1,'2018-09-17 17:35:55'],['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']"

把它放在一个字符串数组中。

String[] stringValues = stringValues.Split(new string[] { "]," }, StringSplitOptions.None);

然后实现这个 foreach 逻辑

foreach(var item in stringValues)
    {
        var d = item + ']' + ',';
        Console.WriteLine(d);
    }

之后只需删除最后 2 个字符,即 ],

使用此代码

    var finalArrayOutput = d.Remove(d.Length - 3, 3);

输出将是:

['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],

['2018-09-17 15:53:30',1,'2018-09-17 17:35:55'], ['2018-09-17 18:54:15',0,'2018-09 -17 18:55:19']],

这是一个提琴手。 点击这里


推荐阅读