从 MVC 控制器中调用 JavaScript 中的 $ajax 解析 return 值

Parse return value from $ajax call in JavaScript from MVC Controller

我正在将 VS2022 与 C# 一起使用,并且我正在尝试在我的 JavaScript 函数中使用 $ajax get 方法。我正在发送一个参数并 returning 一个字符串 [] 列表但是当我收到 return 我使用 JSON.stringify 但是当我尝试使用 JSON.Parse 它失败了。 Javascript代码是

$.ajax({
    type: "GET",
    url: '/Home/GetCategories/',
    contentType: 'application/json', 
    datatype: 'json',
    data: { ctgData: JSON.stringify(relvalue)}
}).done(function(result) {
    let userObj = JSON.stringify(result); 
    let resultList = JSON.parse(userObj);
});

控制器中 return 列表的代码目前很简单,直到我让 return 工作

[HttpGet]
public ActionResult GetCategories(string ctgData)
{
    string[] categoryList = { "Food & Drink", "Sport & Fitness", "Education", "Housework", "Fiction", "Horror Books", "Fantasy", "Magic" };
    return Json(new { data = categoryList });
}

结果中的值为

{"data":["Food & Drink","Sport & Fitness","Education","Housework","Fiction","Horror Books","Fantasy","Magic"]}

我在 Parse 中尝试了很多不同的方法,但总是失败,你能告诉我我缺少什么来让我的 resultList 包含字符串数组吗?

使用这个:

JSON.parse(JSON.stringify(data))

const data = {"data":["Food & Drink","Sport & Fitness","Education","Housework","Fiction","Horror Books","Fantasy","Magic"]}

const resultJSON = JSON.parse(JSON.stringify(data))

console.log("json >>>", resultJSON)

您不需要解析任何内容。已经是java个脚本对象

$.ajax({
    type: "GET",
    url: '/Home/GetCategories/',
    contentType: 'application/json', 
    datatype: 'json',
    data: { ctgData: JSON.stringify(relvalue)}
     sucess:  function(result) {
      let data=result.data; // data = ["Food & Drink","Sport & Fitness",..]
   }
});