0
string result="12334,23432,3453455";

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

当我删除字符串之间的逗号时,它工作正常。如何处理这个?我想在 Ajax 调用之后用逗号将值放在 textarea 中

4

2 回答 2

1

无论输出什么都不是 JSON 格式,而是更像 CSV。

几个选项:

  1. 如果可以,请修复输出方法以正确输出 JSON
  2. 像 CSV 一样解析字符串,
    例如"12334,23432,3453455".split(',')
  3. 首先将输出符合 JSON,然后解析
    例如JSON.parse("["+"12334,23432,3453455"+"]")(用 包装[]
  4. dataType:'text'在您的$.ajax通话中指定。

上面的选项 1-3[12334,23432,3453455]生成一个 javascript 数字数组,而选项 4将简单地"12334,23432,3453455"生成一个字符串。

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

// 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"
于 2013-10-08T14:24:21.613 回答
0

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

如果您的数据是array,则您的字符串应如下所示:

"[12334,23432,3453455]"

或者应该是string

"\"12334,23432,3453455\""
于 2013-10-08T14:24:29.947 回答