小编Tom*_*Tom的帖子

Web API 2:如何在对象及其子对象上返回带有camelCased属性名称的JSON

UPDATE

感谢所有的答案.我正在进行一个新项目,看起来我终于找到了底层:看起来下面的代码实际上应该归咎于:

public static HttpResponseMessage GetHttpSuccessResponse(object response, HttpStatusCode code = HttpStatusCode.OK)
{
    return new HttpResponseMessage()
    {
        StatusCode = code,
        Content = response != null ? new JsonContent(response) : null
    };
}
Run Code Online (Sandbox Code Playgroud)

别处...

public JsonContent(object obj)
{
    var encoded = JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } );
    _value = JObject.Parse(encoded);

    Headers.ContentType = new MediaTypeHeaderValue("application/json");
}
Run Code Online (Sandbox Code Playgroud)

假设它是WebAPI,我忽略了看似无害的JsonContent但没有.

这在任何地方都可以使用......我能说第一个,wtf吗?或许应该是"为什么他们这样做?"


原始问题如下

人们会认为这将是一个简单的配置设置,但现在我已经躲过太久了.

我看过各种解决方案和答案:

https://gist.github.com/rdingwall/2012642

似乎不适用于最新的WebAPI版本......

以下似乎不起作用 - 属性名称仍然是PascalCased.

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;

json.UseDataContractJsonSerializer = true;
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;

json.SerializerSettings.ContractResolver …
Run Code Online (Sandbox Code Playgroud)

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

95
推荐指数
5
解决办法
8万
查看次数

正则表达式/ _/g是什么意思?

JavaScript的:

.replace(/_/g," ");
Run Code Online (Sandbox Code Playgroud)

我在我的代码中有它,但不记得它为什么或它做了什么!你们其中一个正规表达大师能帮忙吗?我知道这可能看起来很基本,但正则表达不是我的一杯茶,谷歌搜索/ g将无济于事......

javascript regex

86
推荐指数
2
解决办法
8万
查看次数

为什么.Contains慢?通过主键获取多个实体的最有效方法?

通过主键选择多个实体的最有效方法是什么?

public IEnumerable<Models.Image> GetImagesById(IEnumerable<int> ids)
{

    //return ids.Select(id => Images.Find(id));       //is this cool?
    return Images.Where( im => ids.Contains(im.Id));  //is this better, worse or the same?
    //is there a (better) third way?

}
Run Code Online (Sandbox Code Playgroud)

我意识到我可以做一些性能测试来比较,但我想知道是否实际上有比两者更好的方法,并且我正在寻找一些启示,这两个查询之间的区别是,如果有的话,一旦它们一直存在"翻译".

.net c# linq entity-framework entity-framework-4.1

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

Knockout js循环到一个值

我有一个整数observable,pages我想循环到html中的页面值,例如.

pages = ko.observable(3) 
Run Code Online (Sandbox Code Playgroud)

产生

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul> 
Run Code Online (Sandbox Code Playgroud)

是否有适合此的绑定?

knockout.js

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

knockout.js如何在处理函数中访问$ index

据我所知,$indexforeach:绑定中可用,给出对象的索引......我有一个click:绑定,例如click:foo,我需要访问$index内部foo.

有办法吗?

knockout.js

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

跳过并采取:EF 4.1中OFFSET LIMIT的有效方法?

以下代码:

using (var db = new Entities())
{
    db.Blogs.First().Posts.Skip(10).Take(5).ToList();
}
Run Code Online (Sandbox Code Playgroud)

将生成以下SQL:

-- statement #1
SELECT TOP ( 1 ) [c].[Id] AS [Id],
             [c].[Title]          AS [Title],
             [c].[Subtitle]       AS [Subtitle],
             [c].[AllowsComments] AS [AllowsComments],
             [c].[CreatedAt]      AS [CreatedAt]
FROM [dbo].[Blogs] AS [c]

-- statement #2
SELECT [Extent1].[Id] AS [Id],
   [Extent1].[Title]    AS [Title],
   [Extent1].[Text]     AS [Text],
   [Extent1].[PostedAt] AS [PostedAt],
   [Extent1].[BlogId]   AS [BlogId],
   [Extent1].[UserId]   AS [UserId]
FROM [dbo].[Posts] AS [Extent1]
WHERE [Extent1].[BlogId] = 1 /* @EntityKeyValue1 */
Run Code Online (Sandbox Code Playgroud)

(来自http://ayende.com/blog/4351/nhibernate-vs-entity-framework-4-0)

NB Skip and Take尚未转换为SQL,导致博客中的所有帖子都从数据库加载,而不仅仅是我们要求的5.

这似乎很危险,非常低效.令人难以置信的是,是什么给出了什么?

.net c# entity-framework

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

Android:Memory Monitor工具在哪里?

有一个工具Memory Monitor可以随着时间的推移分析内存分配,它生成的数字如下所示:

在此输入图像描述

我找不到像"Memory Monitor"这样的工具.我在哪里可以找到它?

memory android

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

非常简单的Node.js客户端在许多http请求之后抛出错误ENOBUFS

我有以下设置:

node.js客户端向node.js服务器发出端到端请求.不到一分钟后,客户端失败并显示错误ENOBUFS.

客户:

(function(){ 

        var loadUrl=function(){
            var http=require('http');   
            var querystring=require('querystring'); 
            var options = {host:"localhost",port:1337,path:'/post',method:'POST'};

            var req = http.request(options, function(res){              
                res.setEncoding('utf8');
                var body='';
                res.on('data', function (chunk) {
                    body+=chunk;
                });           
                res.on('end', function (chunk) {
                    loadUrl();   
                });   
            }); 
            req.on('error', function(e) {
              console.log('problem with request: ' + e.message);
            });
            var post_data = querystring.stringify({id:0});
            req.write(post_data);
            req.end();
        }
        setTimeout(loadUrl,1000);   
    })()
Run Code Online (Sandbox Code Playgroud)

服务器:

var http = require('http');
http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)

虽然这个问题很相似,但我将这个问题作为原始问题的概括(我使用的是post而不是get),并附带一个测试用例.

javascript node.js

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

拦截,阅读和取消短信

我正在寻找一种方法来挂钩SMSManager或更低级别的机制,以便我可以在发送之前拦截,读取和取消任何外发短信.

sms android

6
推荐指数
2
解决办法
4350
查看次数

Webpack,IE8和ES6模块

最新版本的webpack不支持IE8.我试过1.12.12(我认为它是支持IE8的最后一个版本),但仍然从不可调制的错误中获得错误Object.defineProperty.

https://github.com/webpack/webpack/issues/2085

支持IE8的最后一个webpack版本是什么?它是否适用于ES6模块?

webpack.config.js:

var webpack = require("webpack");
var es3ifyPlugin = require('es3ify-webpack-plugin');
var productionPlugin = new webpack.DefinePlugin({
    'process.env': {
        'NODE_ENV': JSON.stringify('production')
    }
});
var devPlugin = new webpack.DefinePlugin({
    "process.env": {
        NODE_ENV: JSON.stringify("dev")
    }
});

module.exports = {
    entry: {
        assessment: "./src/aaa/app.js"
    },
    //devtool: "source-map",
    output: {
        path: "../AAA/wwwroot/js",
        filename: "[name].bundle.js",
        publicPath: "/"
    },
    resolve: {
        extensions: ["", ".js"]
    },
    module: {
        preLoaders: [
            {
                test: /\.js$/,
                loader: "eslint-loader",
                exclude: "node_modules"
            }
        ],
        loaders: [
            {
                test: /\.js$/,
                exclude: …
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer internet-explorer-8 webpack

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