【问题标题】:how to Convert ajax call values in to C#如何将ajax调用值转换为C#
【发布时间】:2020-07-21 19:41:36
【问题描述】:

我可以通过使用 ajax 调用获取单个字符串中的值,但它返回 [object Object]

public static object Details4(string selectedJobSheet)
    {

       foreach (var item in selectedJobSheet)
            {
                Console.WriteLine(item);
            }

    }

当我使用 Foreach 循环时,它返回不同的值,例如:'1110'

【问题讨论】:

  • 您使用 AJAX 解析回来的内容是否已序列化?

标签: javascript jquery jquery-ui c#-4.0 c#-3.0


【解决方案1】:

我假设您使用 AJAX 解析的是一个已序列化的对象。

也许可以尝试使用将字符串反序列化为对象

JobSheet Example = JsonConvert.DeserializeObject<JobSheet>(selectedJobSheet);

public class JobSheet
{
    Email {get; set;} 
}

https://www.newtonsoft.com/json/help/html/DeserializeObject.htm

【讨论】:

  • selectedJobSheet 是一个参数如何在反序列化方法中调用参数
  • 我发布的代码的第一行将序列化参数(selectedJobSheet)转换为对象。你的类应该有来自序列化参数的变量,例如 { 'Email': 'james@example.com' 然后你的 JobSheet 应该包含 Email {get;设置;}}
  • 它返回一个异常:
  • 附加信息:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'EBCheckDAL.OffDetails',因为该类型需要 JSON 对象(例如 {"name":"value "}) 正确反序列化。要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如 List 可以从 JSON 数组反序列化。 JsonArrayAttribute 也可以添加到类型中以强制它从 JSON 数组反序列化。路径'',第 1 行,位置 1。
  • 你能把你收到的完整字符串贴在 selectedJobSheet 参数中
猜你喜欢
  • 1970-01-01
  • 2013-08-19
  • 2015-07-25
  • 2011-06-26
  • 2017-01-04
  • 2020-05-09
  • 2014-12-27
  • 2021-02-14
  • 2021-12-29
相关资源
最近更新 更多