小编Phi*_*ein的帖子

Json.NET不区分大小写的属性反序列化

Json.NET将"不区分大小写的属性反序列化"列为广告功能之一.我已经读过,将首先尝试匹配指定属性的大小写,如果未找到匹配项,则执行不区分大小写的搜索.但是,这似乎不是默认行为.请参阅以下示例:

var result =
    JsonConvert.DeserializeObject<KeyValuePair<int, string>>(
        "{key: 123, value: \"test value\"}"
    );

// result is equal to: default(KeyValuePair<int, string>)
Run Code Online (Sandbox Code Playgroud)

如果更改了JSON字符串以匹配属性的情况("Key"和"Value"vs"key"和"value"),那么一切都很好:

var result =
    JsonConvert.DeserializeObject<KeyValuePair<int, string>>(
        "{Key: 123, Value: \"test value\"}"
    );

// result is equal to: new KeyValuePair<int, string>(123, "test value")
Run Code Online (Sandbox Code Playgroud)

有没有办法执行不区分大小写的反序列化?

c# json.net

32
推荐指数
2
解决办法
4万
查看次数

ASP.NET WebAPI JSON绑定案例敏感性

从ASP.NET WebAPI Beta升级到RC已经提供了一些兴奋和很多挫折感.我已经能够解决大多数问题,但现在咬我的是JSON请求数据的区分大小写.

用于JSON请求的格式化程序(默认情况下是JSON.NET格式化程序)似乎区分大小写,而用于表单urlencoded数据的格式化程序则不区分大小写.有没有办法配置JSON请求以使用不区分大小写的格式化程序?

这是一个简单的例子来说明我对JSON请求的问题:

HTML/JavaScript

<button id="tester">Click here!</button>

<script type="text/javascript">
    $(function () {
        $("#tester").on("click", function() {
            $.ajax({
                type: "POST",
                url: "/Api/Test/Index/" + 168,
                data: ko.toJSON({ key: 123, value: "test value" }), // THIS FAILS
                               // Key: 123, Value: "test value" <- BUT THIS WORKS
                contentType: "application/json; charset=utf-8",
                statusCode: {
                    200: function () {
                        $("body").append("<p>Success</p>");
                    },
                    400: function () {
                        $("body").append("<p>Failure</p>");
                    }
                }
            }).always(function () {
                $("body").append("<hr />");
            });
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

C#

public class TestController : ApiController
{
    public …
Run Code Online (Sandbox Code Playgroud)

c# json.net asp.net-web-api

19
推荐指数
2
解决办法
1万
查看次数

Windows上的Node.js和Express

今晚我决定尝试在Windows 7机器上使用Express构建一个简单的Node.js应用程序.安装进行得相当顺利,但Express拒绝合作.以下是我采取的步骤:

  1. 使用http://nodejs.org/dist/v0.6.9/node-v0.6.9.msi上提供的MSI安装Node.js.
  2. 通过npm install express g从命令提示符运行来安装Express .
  3. 为应用程序创建了一个目录c:\source\node> mkdir newapp.
  4. 将目录更改为应用程序目录c:\source\node> cd newapp.
  5. 冉快车:c:\source\node\newapp> express --sessions --css stylus.

此时,node.exe进程将以25%的CPU时间启动并无休止地运行并持续使用更多内存.运行20多分钟后,node.exe进程使用300+ MB的内存.该express命令永远不会完成,newapp目录保持不变.

如果我运行,express --help我会在控制台中看到帮助输出.我已尝试运行命令提示符和管理员但仍然Express似乎挂起.

有没有人知道发生了什么或我做错了什么?提前致谢!

windows node.js express

7
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC授权属性 - 不工作!

嘿伙计们,我在这里有点沮丧.我不太清楚发生了什么事.我从默认的MVC项目模板开始,然后继续添加一个控制器......

public class TestTemplatesController : EVController<EvTestTemplate>
{
    //
    // GET: /Tests/
    [Authorize]
    public ActionResult Index()
    {
        ViewData.Model = EntityList;
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

我添加了Authorize属性,但它似乎不适用.处理对Controller的未经身份验证的请求,而不是重定向到.我确定我在这里遗漏了一些简单的东西,但我想我会问.

谢谢,

PK


Web.config文件:

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                    <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
                    <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                    <section …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

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

标签 统计

c# ×2

json.net ×2

asp.net-mvc ×1

asp.net-web-api ×1

express ×1

node.js ×1

windows ×1