小编ope*_*sas的帖子

使用 Newtonsoft Json 获取 json 属性类型

我用 JObject.Parse(json) 解析了一个 Json 字符串,并且尝试遍历属性。我发现访问 json 类型的唯一方法是通过它的父节点,如下所示:

string json = @"{
    CPU: 'Intel',
    Drives: [ 'DVD read/writer', '500 gigabyte hard drive'
    ]
}";
JObject o = JObject.Parse(json);

foreach (var p in o.Properties()) 
{
    Console.WriteLine("name:" + p.Name + ", value: " + p.Value);
    Console.WriteLine("o[p.Name].Type: " + o[p.Name].Type);  // correctly returns js type
    Console.WriteLine("p.Type: " + p.Type);  // returns Property for every item
    Console.WriteLine("p.GetType(): " + p.GetType()); // returns Newtonsoft.Json.Linq.JProperty for every item
    Console.WriteLine();
}
Run Code Online (Sandbox Code Playgroud)

我想一定有某种方法可以从属性中获取 json 类型。(这里现场小提琴)

json json.net .net-core

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

cypress:通过文本选择锚点的 css 选择器

我开始玩cypress,我需要选择这样的链接:

<table cellSpacing="0" cellPadding="0" width="100%" border="0" class="ToolBarBkg">
  <tbody>
    <tr>
      <td class="ContentLeftLinks" align="right" width="98%" height="40" nowrap>
        &nbsp;
        <a href="javascript:FireEvent('Agregar')" style="COLOR: black; font-weight: normal" tabindex="-1">
          <IMG src="/metassc/images/toolbar/AltaOn.gif" align="absmiddle" border=0> Alta
        </a>
        &nbsp;

        <a href="javascript:FireEvent('Eliminar')" style="COLOR: black; font-weight: normal" tabindex="-1">

          <IMG src="/metassc/images/toolbar/BajaOn.gif" align="absmiddle" border=0> Baja
        </a>
Run Code Online (Sandbox Code Playgroud)

在这个页面之后我已经尝试过这些:

cy.contains('a[href~=Agregar]')
cy.contains('a[href*="Agregar"]')
cy.contains('a:contains("^Agregar$") ')
cy.contains('a:contains("^Alta$") ')
Run Code Online (Sandbox Code Playgroud)

但它们似乎都不起作用。任何想法?

css css-selectors cypress

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

无法将 jwt.iat(发布于)属性与当前日期时间进行比较 - (“自纪元以来的秒数”NumericDate)

我从 Web 服务获取 json Web 令牌,解码后返回如下内容:

\n
{\n  "exp": 1572468916,\n  "iat": 1572468316,\n  "iss": "https://ccc/auth/realms/yyy",\n  "aud": "xxx-api",\n  [...]\n
Run Code Online (Sandbox Code Playgroud)\n

根据第 2 节终端学, NumericDate 数据类型对应于“自纪元以来的秒数”

\n

所以我将它转换为 JavaScript 日期,如下所示:

\n
new Date(1572468316 * 1000)\nDate Wed Oct 30 2019 17:45:16 GMT-0300 (Argentina Standard Time)\n
Run Code Online (Sandbox Code Playgroud)\n

问题是我当前的时间是:

\n
new Date()\nDate Wed Oct 30 2019 14:45:19 GMT-0300 (Argentina Standard Time)\n
Run Code Online (Sandbox Code Playgroud)\n

实际上,当前时间是返回的时间new Date()(即 14:45,不是 17:45)

\n

我猜这与 GMT 有关,但我不知道如何处理它。

\n

我想将 iat 属性(显然还有 exp 属性)转换为当前时间,以便将其进行比较以new Date()查明令牌是否已过期。

\n

那么如何将 NumericDate 从 …

javascript datetime datetimeoffset gmt jwt

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

无法运行 rust PrimitiveDateTime 示例

我正在尝试解决一个非常简单的 Rust 练习,涉及PrimitiveDateTime. 我正在尝试在我自己的机器上运行这个基本示例

#![allow(unused)]
extern crate r#time;

fn main() {
    use time::{
        macros::{date, datetime, time},
        PrimitiveDateTime,
    };
    assert_eq!(
        PrimitiveDateTime::new(date!(2019 - 01 - 01), time!(0:00)),
        datetime!(2019-01-01 0:00),
    );
}
Run Code Online (Sandbox Code Playgroud)

它在 Rust Playground 上编译但在我的机器上出现以下错误:

$ cargo run
   Compiling playground v0.1.0 (/home/sas/exercism/rust/playground)
error[E0432]: unresolved imports `time::macros`, `time::PrimitiveDateTime`, `time::macros::date`, `time::macros::datetime`
 --> src/main.rs:4:12
  |
4 | use time::{PrimitiveDateTime, macros::{date, datetime, time}};
  |            ^^^^^^^^^^^^^^^^^  ^^^^^^   ^^^^  ^^^^^^^^
  |                               |
  |                               could not find `macros` in `time`

error: cannot find macro …
Run Code Online (Sandbox Code Playgroud)

datetime date rust rust-cargo

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

选择:从经典ASP迁移到.NET或迁移到开源平台

我的组织拥有大量遗留的ASP软件.

由于我们认为微软已经显示出对其旧产品的明显缺乏支持,我们需要弄清楚要迁移到下一个产品的内容.

如果我们从Classic ASP迁移到ASP.NET,感觉就像是'完全重写'"迁移".由于情况可能就是这样,我们正在考虑转向免费(如在啤酒和言论中)平台.我特别认为我们的投资(在编程方面,我的意思是)会更好地用于让我们发展的平台,而不是强迫我们每4/5年转储一行代码.这是我们一直用来倡导走向"自由"平台的主要论点.

目前我们正在考虑将Java与动态语言(如JRuby或Groovy)混合使用.

我的问题是:什么是一个很好的迁移选择?我们的恐惧没有根据吗?我们(可以想象)是否需要在4或5年后重写大部分代码库?你有什么理由转向.NET或免费平台?

java asp.net migration asp-classic

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

如何使用免费方法从Java执行COM +库

我有一个用VB6开发的COM +组件.

在使用组件服务管理器COM +应用程序注册后,我可以像这样在ASP中使用它

Set Comando = Server.CreateObject("JuiciosComando.clsComando")
ComandoExecute = Comando.execute(Xml)
Set Comando = Nothing
Run Code Online (Sandbox Code Playgroud)

这就是我所需要的,组件只接收一个(可能是一个巨大的)字符串并返回另一个(也可能是巨大的)字符串......

有没有办法从Java访问这个相同的组件?

到目前为止我发现的是J-Integra,但它是商业产品.

我也在codeguru.com上找到了这个帖子,但我的C++ .NET知识相当差,除了我宁愿找到一个免费的纯Java解决方案.

java com+

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

scala:定义模拟对象的策略,使用implicits注入依赖项

我有一个Social对象,负责连接到Twitter,facebook等,并检索指定用户的提供者信息

对于每个提供者,我实现了单个TwitterAdapter,所有这些都继承自抽象类SocialAdapter

这是代码:https://github.com/RestOpenGov/ideas-ba/blob/master/webservice/app/services/security/SocialConnector.scala#L98

为了测试,我显然想要模拟TwitterAdapter,这样它就不会与twitter连接,而是返回一些固定的响应.

我发现的一个解决方案是使用隐式参数注入适配器列表.这个解决方案的问题是从其他函数调用Social.retrieveSocialProviderInfo,所以我必须通过所有调用链传递隐式List [SocialAdapter]参数,如下所示:

def createApplicationToken(accessToken: AccessToken)
  (implicit adapters: List[SocialAdapter] = Social.defaultAdapters)
: Either[List[Error], ApplicationToken] = {

  // go to social info provider and fetch information
  retrieveProviderInfo(accessToken).fold(
  [...]

def retrieveProviderInfo(accessToken: AccessToken)
  (implicit adapters: List[SocialAdapter] = Social.defaultAdapters)
: Either[List[Error], IdentityProviderInfo] = {
[...]
Run Code Online (Sandbox Code Playgroud)

最后

object Social {

  val defaultAdapters = List(TwitterAdapter, FacebookAdapter)

  def retrieveSocialProviderInfo
    (accessToken: AccessToken)
    (implicit adapters: List[SocialAdapter] = Social.defaultAdapters)   // adapters can be injected
  : Option[IdentityProviderInfo] = {
  [...]
Run Code Online (Sandbox Code Playgroud)

你明白了

它运行正常,通常我只是忽略第二组参数并从Social.defaultAdapters中选择默认值,我只在测试时将其设置为List(MockTwitterAdapter,MockFacebookAdapter),但我为了能够测试它而使代码混乱.

另一个解决方案是使Social.defaultAdapters成为var(而不是val),只需更改它以进行测试,通常在生产模式下它总是具有相同的值.

我认为这必须是一个非常常见的情况.是否有更好的策略来处理这些情况?或者也许某种方式来扩展隐式赋值的范围?或者我应该使用功能齐全的依赖注入框架?

testing dependency-injection scala mocking

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

将字符串转换为utf8字符串

我正在尝试转换字符串

<Root>á</Root>
Run Code Online (Sandbox Code Playgroud)

它是UTF字符串表示,就像这样

<Root>á</Root>
Run Code Online (Sandbox Code Playgroud)

(摘自此页:http://www.cafewebmaster.com/online_tools/utf8_encode)

但是当我发出Encoding.UTF8.GetBytes(str)时,我得到一个utf字节数组.

如何将这些字节转换为我之后的字符串表示?

-

感谢您指出没有utf8字符串的字符串表示.

为了澄清我的需求,我必须在sql 2008中执行类似的操作:

xmlAuditoria_Alta 
'
<Out>utf8 char: á</Out>
'
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止找到的唯一方法是正确保存这个存储的值

utf8 char: á
Run Code Online (Sandbox Code Playgroud)

这就是我试图转换á为的原因á

也许有更正确的方法来做到这一点

c# string utf-8

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

vscode:为具有特定扩展名的文件设置编码

我正在使用 Visual Studio 代码来编辑经典的 asp 页面。

为了不破坏一切,我需要使用 Windows 1252 编码读取和写入 .asp 文件。

有什么方法可以配置它吗?如果可以在文件夹/项目/工作区的基础上完成,那就太好了。

character-encoding asp-classic visual-studio-code vscode-settings

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