小编use*_*451的帖子

将 JSON 对象反序列化为嵌套的 C# 对象

编辑:我想我应该提到我无法控制 JSON,我知道通常我的 C# 对象应该与 JSON 匹配。我的问题不是“为什么不反序列化?”。我知道为什么不是。我在问是否有一种方法可以按照我的要求反序列化 JSON。

我正在使用 Newtonsoft.Json。

我有一个包含 1 个对象的 JSON 字符串。我需要将该对象反序列化为带有嵌套对象的 C# 对象。

所以让我们说我的 JSON 看起来像这样。

{
    "id": 123,
    "userName": "fflintstone",
    "address": "345 Cave Stone Road",
    "address2": "",
    "city": "Bedrock",
    "state": "AZ",
    "zip": "",   
}
Run Code Online (Sandbox Code Playgroud)

这是我的 C# 对象

public class Customer
{
    public long Id { get; set; }

    public string UserName { get; set; }

    public AddressModel Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

AddressModel 地址属性是一个嵌套对象。该对象包含实际地址属性。所以我需要反序列化我的 JSON 对象,以便将 id 和 userName 添加到 Customer 对象,然后将地址字段添加到嵌套的 Address 对象。 …

c# oop json json.net

4
推荐指数
1
解决办法
2160
查看次数

有没有办法根据变量将WHERE子句中的比较设置为IS NULL或IS NOT NULL

我不是SQL专家,这让我很难过.

我有一个我正在调用的存储过程.我传给了一个名为@Requested的变量,它被用作布尔值.

我在尝试什么:

SELECT 
    ID 
FROM 
    SomeTable
WHERE 
    Requested = CASE @Requested WHEN 0 THEN IS NULL WHEN 1 THEN IS NOT NULL END
;
Run Code Online (Sandbox Code Playgroud)

我在SQL Server Management Studio中遇到错误 Incorrect syntax near 'IS'

如果我这样做THEN 'some string',上面的代码很明显.

我这样做是为了Requested CASE......和Requested = CASE

基本上我想要的是

Requested IS NULL
Run Code Online (Sandbox Code Playgroud)

要么

Requested IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

基于以@Requested传递的值.

有任何想法吗?

谢谢

t-sql sql-server stored-procedures

3
推荐指数
1
解决办法
93
查看次数

使用带有回车的jQuery .html

我正在研究一个MVC项目.我有一个容器div,我想添加一个局部视图.我收到错误,因为我的部分视图的html有回车.

JavaScript的:

$("#containerOptions").html('@{Html.RenderPartial("_DropDownOptions", Model);}');
Run Code Online (Sandbox Code Playgroud)

局部视图:

<div id="divOptions">
   <label>I would like to browse by:</label>
   @using (var dd = Html.Bootstrap().Begin(new DropDown("Select Option").Class("dropDownElement").Id("dropDownOption")))
   {
      @dd.Header("Otpions");
      @dd.ActionLink("City", "#").Class("dropDownElement");
      @dd.ActionLink("Zip", "#").Class("dropDownElement");
      @dd.ActionLink("County", "#").Class("dropDownElement");
   }                                                                                                                                                             
</div>
Run Code Online (Sandbox Code Playgroud)

我知道我的HTML代码不是问题,因为它在其他地方工作.我还通过放入<p>Hi</p><p>Fred</p>我的局部视图来复制这个问题,这个视图很有效.

<p>Hi</p>
<p>Fred</p> 
Run Code Online (Sandbox Code Playgroud)

不起作用.

有没有办法强制调用.html忽略我的文档中的回车?我宁愿不删除它们,因为它大大降低了可读性.

编辑:

我尝试进行字符串替换以删除新行,但它不起作用.

var s = '@{Html.RenderPartial("_DropDownOptions", Model);}'

var bob = s.replace(/[\n\r]/g, '');

$("#containerOptions").html(bob);
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery razor

1
推荐指数
1
解决办法
527
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

jquery ×1

json ×1

json.net ×1

oop ×1

razor ×1

sql-server ×1

stored-procedures ×1

t-sql ×1