C# JSON数据后出现意外的非空白字符

C# JSON数据后出现意外的非空白字符,c#,javascript,ajax,jquery,C#,Javascript,Ajax,Jquery,我是通过Ajax调用获取此字符串的,但它给了我以下错误: “JSON数据后出现意外的非空白字符” 当我删除字符串之间的逗号时,效果很好。如何处理?。我想在Ajax调用后用逗号将值放在textarea中无论输出的内容不是JSON格式,而是更像CSV 有几个选择: 如果可以,请修复output方法以正确输出JSON 像CSV一样解析字符串 e、 g.“1233423432453455”。拆分(“,”) 首先将输出与JSON一致,然后解析 e、 g.JSON.parse(“[”+“1233423433

我是通过Ajax调用获取此字符串的,但它给了我以下错误: “JSON数据后出现意外的非空白字符”


当我删除字符串之间的逗号时,效果很好。如何处理?。我想在Ajax调用后用逗号将值放在textarea中

无论输出的内容不是JSON格式,而是更像CSV

有几个选择:

  • 如果可以,请修复output方法以正确输出JSON
  • 像CSV一样解析字符串
    e、 g.
    “1233423432453455”。拆分(“,”)
  • 首先将输出与JSON一致,然后解析
    e、 g.
    JSON.parse(“[”+“1233423433455”+“])
    (用
    []
    包装)
  • $.ajax
    调用中指定
    数据类型:'text'
  • 上述选项1-3
    [12334234323453455]
    作为数字的javascript数组,而选项4
    作为字符串“1233423433455”

    顺便说一句,使用JSON.NET,这就是它应该得到的结果:

    string result="12334,23432,3453455";
    

    您的数据必须由JSON解析器解析

    如果数据是
    数组
    ,则字符串应如下所示:

    // As an array:
    Int32[] ary = new[]{ 12334, 23432, 3453455 };
    Console.WriteLine(JsonConvert.SerializeObject(ary));
    // [12334,23432,3453455]
    
    // As a string:
    String str = "12334,23432,3453455";
    Console.WriteLine(JsonConvert.SerializeObject(str));
    // "12334,23432,3453455"
    
    或者应该是
    字符串

    "[12334,23432,3453455]"
    

    这不是JSON,而是CSV。我认为ajax设置中的数据类型为
    JSON
    ,这不是有效的JSON。尝试将其设置为前面提到的
    text
    ,这绝对不是JSON。JSON可以是对象或数组。因此,如果发送数组而不是逗号分隔的字符串,它将自动开始工作,前提是返回类型为JSONfirst,请将数据类型设置为文本,如果问题仍然存在,请尝试在逗号之前添加\尽管可以工作fine@PSL:请确保它不是有效的JSON。他需要一个有效的JSON来解析,我不确定第二个选项,因为问题没有提到服务器的预期返回类型。但是第一个肯定是正确的&最好是正确的,但是应该在发送数据时在服务器端完成accross@AkshayKhandelwal:的确如此。我浏览了有关将内容直接放入输入字段的部分。更正,谢谢
    "\"12334,23432,3453455\""