问题列表 - 第41427页

如何将JObject反序列化为.NET对象

我很高兴使用Newtonsoft JSON库.例如,我将从JObject.NET对象创建一个,在这种情况下是一个Exception实例(可能是也可能不是子类)

if (result is Exception)
    var jobjectInstance = JObject.FromObject(result);
Run Code Online (Sandbox Code Playgroud)

现在我知道库可以将JSON文本(即字符串)反序列化为对象

// only works for text (string)
Exception exception = JsonConvert.DeserializeObject<Exception>(jsontext); 
Run Code Online (Sandbox Code Playgroud)

但我要找的是:

// now i do already have an JObject instance
Exception exception = jobjectInstance.????
Run Code Online (Sandbox Code Playgroud)

很明显,我可以从JObject背面转到JSON文本,然后使用反序列化功能,但这似乎是我的倒退.

.net serialization json exception json.net

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

如何计算包括左右轴承在内的文本总宽度

我试图计算HTML中跨度的总宽度,包括第一个和最后一个字符的左右方位.我已经尝试过Javascript的offsetWidth和jQuery的width&outerWidth函数,但它们都没有返回我正在寻找的正确值.这是我的意思的一个例子.在Firefox中运行时,计算出的宽度为135px,而使用Web Developer插件进行测量时,实际宽度为141px.

编辑

这是我尝试过的,这里是它给我的值:offsetWidth = 135 jQuery.width()= 135 jQuery.outerWidth()= 135

他们都没有计算'f'上的6px悬空(这将使宽度为141).

html javascript measurement width

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

从Magento Admin Extension输出ajax数据的最佳方法

我正在编写一个Magento Admin扩展,其中包含一些ajax回调.到目前为止,我一直在回应json,我正在通过ajax调用反馈控制器中的一个简单的echo语句.它"工作",但我在我的日志文件中得到了一堆这样的错误:

 

2010-12-14T15:37:05 + 00:00调试(7):标题已发出:

[0] /home/simplifiedsafety/www/store/app/code/core/Mage/Core/Controller/Response/Http.php:44
[1] /home/simplifiedsafety/www/store/lib/Zend/Controller/Response/Abstract.php:727
[2] /home/simplifiedsafety/www/store/app/code/core/Mage/Core/Controller/Response/Http.php:75
[3] /home/simplifiedsafety/www/store/app/code/core/Mage/Core/Controller/Varien/Front.php:188
[4] /home/simplifiedsafety/www/store/app/code/core/Mage/Core/Model/App.php:304
[5] /home/simplifiedsafety/www/store/app/Mage.php:599
[6] /home/simplifiedsafety/www/store/index.php:104

我想要避免这种情况,我需要通过某种方式将其推出.有人可以给我一点指导吗?

ajax magento magento-1.4

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

@ $ array ['possible_missing_key']是反模式吗?

从PHP数组中提取可能缺少的值时,使用@是否可以?例:

$value = @$array['possibly_missing_key'];
Run Code Online (Sandbox Code Playgroud)

预期的行为:

if (isset($array['possibly_missing_key'])) {
    $value = $array['possibly_missing_key'];
} else {
    $value = null;
}
Run Code Online (Sandbox Code Playgroud)

我想知道,在传播使用模式之前.

php arrays error-suppression operators

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

隐式转换和舍入

刚刚遇到一个有趣的:

declare @test as int
set @test = 47

select @test * 4.333
Run Code Online (Sandbox Code Playgroud)

返回 203.651

declare @test as int
set @test = 47

declare @out as int
set @out = (select @test * 4.333)

select @out
Run Code Online (Sandbox Code Playgroud)

返回 203

declare @test as int
set @test = 47

declare @out as int
set @out = round((select @test * 4.333),0)

select @out
Run Code Online (Sandbox Code Playgroud)

返回 204

现在我知道它为什么这样做了。这是因为存在从十进制到 int 的隐式转换,因此需要截断小数位(因此为 203),而如果我在隐式转换之前舍入,则会得到 204。

我的问题是为什么当 SQL Server 进行隐式转换时它不是也四舍五入? 我知道如果我有一个很大的数字,并且需要存储在一个小地方,我要做的第一件事就是将它四舍五入以尽可能接近原始数字。

这对我来说似乎并不直观。

t-sql sql-server sql-server-2005

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

为什么django的model.save()不调用full_clean()?

我只是好奇是否有人知道django的orm是否有充分理由不在模型上调用'full_clean',除非它被保存为模型表单的一部分.

请注意,调用模型的save()方法时,不会自动调用full_clean().如果要为自己手动创建的模型运行一步模型验证,则需要手动调用它. django完全干净的文档

(注意:为Django 1.6更新了引用...以前的django文档也有关于ModelForms的警告.)

有没有充分的理由让人们不想要这种行为?我想如果你花时间为模型添加验证,那么每次保存模型时都需要运行验证.

我知道如何使一切正常工作,我只是在寻找解释.

python django django-models django-validation

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

如何在Windows中打开一个控制台窗口,停止使用MinGW(g ++)编译的程序

我使用MinGW g ++编译了一个程序.当我运行它时,除了主应用程序窗口之外,它还会打开一个控制台窗口.什么是编译器标志来阻止它?

windows mingw g++

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

REST与Spring和Jackson完全数据绑定

我正在使用Spring MVC来处理JSON POST请求.在封面下我使用基于Jackson JSON处理器构建的MappingJacksonHttpMessageConverter,并在使用mvc:annotation-driven时启用.

我的一个服务收到一系列操作:

@RequestMapping(value="/executeActions", method=RequestMethod.POST)
    public @ResponseBody String executeActions(@RequestBody List<ActionImpl> actions) {
        logger.info("executeActions");
        return "ACK";
    }
Run Code Online (Sandbox Code Playgroud)

我发现Jackson将requestBody映射到java.util.LinkedHashMap项目列表(简单数据绑定).相反,我希望将请求绑定到类型化对象列表(在本例中为"ActionImpl").

我知道如果直接使用Jackson的ObjectMapper,这很容易做到:

List<ActionImpl> result = mapper.readValue(src, new TypeReference<List<ActionImpl>>() { }); 
Run Code Online (Sandbox Code Playgroud)

但我想知道在使用Spring MVC和MappingJacksonHttpMessageConverter时实现这一目标的最佳方法是什么.任何提示?

谢谢

rest spring json spring-mvc jackson

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

FieldInfo.GetValue为私有成员返回null,而调试器指示字段为非null?

在C#/ .NET 4.0中,我试图通过反射检索字段值:

var bar = foo.GetType()
  .GetField("_myField", BindingFlags.Instance | BindingFlags.NonPublic)
  .GetValue(foo)
Run Code Online (Sandbox Code Playgroud)

我对这种情况感到有些困惑.返回的值是null,但是,字段(通过调试器观察时)不为null.更令人费解的是,上面的代码适用于其他对象属性.

唯一奇怪的是纵横两个标志IsSecurityCriticalIsSecuritySafeCriticaltrue的,但我什至不知道它实际上相关的情况.

我在一个小HttpModule的情况下结束了.

public class MyModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.BeginRequest += BeginRequest;
    }

    void BeginRequest(object sender, EventArgs e)
    {
         var app = (HttpApplication)sender;

         var rawContent = typeof(HttpRequest)
                .GetField("_rawContent", BindingFlags.Instance | BindingFlags.NonPublic)
                .GetValue(app.Request);

         // at this point 'rawContent' is null, while debugger indicates it is not.
    }
}
Run Code Online (Sandbox Code Playgroud)

任何可以解释这种行为的建议?

.net c# reflection fieldinfo

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

仅在修改vs整个方法时锁定

什么时候应该使用锁?仅在修改数据或访问数据时?

public class Test {
    static Dictionary<string, object> someList = new Dictionary<string, object>();

    static object syncLock = new object();

    public static object GetValue(string name) {
        if (someList.ContainsKey(name)) {
            return someList[name];
        } else {
            lock(syncLock) {
                object someValue = GetValueFromSomeWhere(name);
                someList.Add(name, someValue);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否应该锁定整个块或者是否可以将其添加到实际修改中?我的理解是,仍然可能存在一些竞争条件,其中一个呼叫可能没有找到并开始添加它,而另一个呼叫可能也会遇到相同的情况 - 但我不确定.锁定仍然令人困惑.我没有遇到上述类似代码的任何问题,但到目前为止我可能很幸运.上面的任何帮助都会被评估,以及关于如何/何时锁定对象的任何好资源.

c# multithreading

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