首页 \ 问答 \ Json.NET:解析未知长度的对象数组(Json.NET: Parsing object array of unknown length)

Json.NET:解析未知长度的对象数组(Json.NET: Parsing object array of unknown length)

我试图解析一个看起来像这样的JSON数组:

{
  "chatName": "Test",
  "users": [
    "User1",
    "User2"
  ],
  "someBooleanValue": true,
  "someObjects": {
    "object1": "someObjectValue1",
    "object2": "someObjectValue2",
    ...
  }
}

有没有办法解析someObjects对象数组,当我开始处理JSON文件之前我不知道数组有多少个对象?

所有解析都是使用Json.NET完成的。


I am trying to parse a JSON array that looks something like this:

{
  "chatName": "Test",
  "users": [
    "User1",
    "User2"
  ],
  "someBooleanValue": true,
  "someObjects": {
    "object1": "someObjectValue1",
    "object2": "someObjectValue2",
    ...
  }
}

Is there a way to parse the someObjects array of objects, when I don't know how many objects the array will have before I start processing the JSON file?

All the parsing is done using Json.NET.


原文:https://stackoverflow.com/questions/38586280
更新时间:2023-02-15 12:02

最满意答案

您需要将您的正则表达式设为全局,而不是仅匹配SSN。

使用这样的东西:

if ($('[name=notes]').val().match(/\b(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}\b/g)) {

并且会按预期匹配。


You need to make your regex global rather than matching the SSN only.

Use something like this:

if ($('[name=notes]').val().match(/\b(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}\b/g)) {

and it will match as expected.

相关问答

更多
  • 您需要将您的正则表达式设为全局,而不是仅匹配SSN。 使用这样的东西: if ($('[name=notes]').val().match(/\b(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}\b/g)) { 并且会按预期匹配。 You need to make your regex global rather than matching the SSN only. Use something lik ...
  • 这是对的...... SELECT RIGHT('123456789',4) 或者你可以检查你正在使用的字段的长度 This is the right thing... SELECT RIGHT('123456789',4) Or you can check length of the field that you're using
  • 如果你想在屏幕上渲染一些图像和定位标签,那么不要使用textarea。 使用任何其他容器,如

    等 $("#yourelementid").html(yourtext); 将把文本(在你的情况下是HTML)放在id为yourelementid的元素中 HTML

    jQuery的 var txt = "Google"; $("#para1").html(txt); ...
  • 这种“经典”的方法是在textarea周围的div上使用背景图像,并将textarea的边框/轮廓设置为none,如下所示:
    CSS3支持圆角,但不支持,例如http://www.css3.info/preview/rou ...
  • 这就是我最终做的, def obfuscated_ssn return ssn unless ssn && ssn.size > 3 ssn.last(4).rjust(ssn.length, '*') end def obfuscated_ssn=(ssn) self.ssn = ssn unless ssn.include?('*') end 这有点hacky,但它显示带有编辑字符串的SSN,但是不会保存带有编辑位*的字符串,以防止错误数据获取数据库。 This is what I en ...
  • 您遇到的问题是一个错误,已经报告为问题#35264 。 我在jsfiddle为它创建了一个解决方法。 为方便粘贴代码如下。 HTML: 使用Javascript: var pincode = document.getElementById('pincode'); var maxLength = pincode.maxLength; ...
  • 重申您的基本要求: 一个相当强大的校验和来防止简单的人为错误。 从服务器 - >客户端发送“预期”校验和,允许客户端验证。 校验和不得透露太多关于SSN的信息,以尽量减少敏感信息的泄漏。 我可能会建议使用加密算法(SHA-1等),但不要将完整的哈希值发送给客户端。 例如,仅发送160位散列结果[1]的最低4位。 通过发送4位校验和,您检测数据输入错误的机会是15 / 16--这意味着您将在93%的时间内检测到错误。 但另一方面,您已经“泄露”了足够的信息,以将他们的SSN减少到搜索空间的1/16。 您需要决 ...
  • 这是一个使用jQuery的简单解决方案 $(function(){ $("#box").keypress(function(){ if($(this).val().trim().length > $(this).data("limit") - 1) { alert("You have reached the limit"); return false; } }); });