JSON 数据后出现意外的非空格字符

本文关键字:空格 字符 意外 数据 JSON | 更新日期: 2023-09-27 18:34:20

string result="12334,23432,3453455";

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

当我删除字符串之间的逗号时,它工作正常.如何处理这个问题?.我想在 Ajax 调用后用逗号在文本区域中放置值

JSON 数据后出现意外的非空格字符

任何

不是以 JSON 格式输出的输出,而是更像 CSV。

几个选项:

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

上述选项 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"

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

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

"[12334,23432,3453455]"

或者它应该是一个string

"'"12334,23432,3453455'""