小编msq*_*qar的帖子

在另一个json对象(不是数组)中获取json对象

我有这个结构:

{
"parent": {
      "child-parent-1": {
            "att1": null,
            "att2": null,
      },
      "child-parent-2": {
            "att1": null,
            "att2": null,
      }
 }}
Run Code Online (Sandbox Code Playgroud)

我需要得到的是"child-parent-1"和"child-parent-2"名称而不知道他们的名字......因为它们是动态生成的,就像哈希码(askdl1km2lkaskjdnzkj2138).

尝试迭代但我无法使其工作.我总是得到子属性(键/值对).或者包含其中所有对象的整个父对象.需要获得我上面提到的父名.

我怎样才能做到这一点?

提前致谢.

javascript json parent names

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

在Mule流中使用SQL结果变量

我得到了一个有2个查询的Mule流.第一个只是验证用户名是否重复.

是这样的:SELECT count(*)AS TOTAL FROM user_tests WHERE username =#[json:username] AND test_message_title =#[json:test_message_title]

如果TOTAL = 0,则第二个执行INSERT.

现在,我想在同一流程中的选择中使用变量"TOTAL".我该怎么做?

尝试#[TOTAL = 0],尝试#[变量:TOTAL = 0],还有许多其他但无法使其正常工作.

编辑:我做了一个java组件,从有效负载中检索"0"或任何数字.如何使选择表达式进行比较?

在选择表达式中使用Integer.valueOf(message.payload)= 0尝试但我得到InvalidExpressionException.

这是我的整个流程:

<flow name="ADMIN_INSERT_TEST_FILE" doc:name="ADMIN_INSERT_TEST_FILE">
    <ajax:servlet-inbound-endpoint channel="/admin/save_test_message" responseTimeout="10000" doc:name="Ajax"/>
    <set-variable variableName="#['saved_payload']" value="#[payload]" doc:name="Save original payload"/>
    <jdbc:outbound-endpoint exchange-pattern="request-response" queryKey="validate_test_name" queryTimeout="-1" connector-ref="ExtendedRoutingConnector" doc:name="validate duplicated test name">
        <jdbc:query key="validate_test_name" value="SELECT count(*) AS TOTAL FROM user_tests WHERE username = #[json:username] AND test_message_title = #[json:test_message_title]"/>
    </jdbc:outbound-endpoint>
    <logger message="#[message.payload[0].TOTAL]" level="INFO" category="Total" doc:name="Logger"/>
    <choice doc:name="Choice">
        <when expression="#[message.payload[0].TOTAL == 0]">
            <processor-chain>
                <set-payload value="#[variable:saved_payload]" doc:name="Save Payload"/> …
Run Code Online (Sandbox Code Playgroud)

flow mule

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

使用fileSaver.js和Blob.js使用javascript保存文本文件

不知道你们大多数人是否都知道保存文件的javascript库.

基本上代码如下:

var bb = new BlobBuilder();
bb.append(content);
var fileSaver = window.saveAs(bb.getBlob("text/plain;charset=UTF-8"), "filename.txt");
Run Code Online (Sandbox Code Playgroud)

但现在是这样的:

var oMyBlob = new Blob([content], { type : "text/plain", endings: "transparent"});
window.saveAs(oMyBlob, "filename.txt");
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,无论我使用什么(如果BlobBuilder被弃用或Blob),newLines都没有显示,所有内容都保存在文本文件的同一行下.

你们知道为什么会这样吗?尝试使用不同的ContentTypes:text/plain,text/richher,text/html ...

这似乎都不适用于newLines.如果我创建了一个我要保存在文件中的"警报(数据)",那么newLines就在那里.当我使用这个库时,看起来它解析了newLines或其他东西,dunno :(也试过了另一个charsets ..

提前致谢.

javascript newline blob file save

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

使用图像数组创建 FormData 并在 React-Native 中使用 rn-fetch-blob 上传

我正在使用rn-fetch-blob库将一些图片上传到服务器。但我遇到了不同类型的错误,例如 Content-Type 上没有边界或 FormData 结构本身的错误,例如“NSMutableDictionary 类型无法转换为 NSString”,我感到非常沮丧。

我得到了一个像这样的图像数组:

var images = [
     {name 'pic1', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
     {name 'pic2', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
     {name 'pic3', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
];
Run Code Online (Sandbox Code Playgroud)

然后我创建 FormData,如下所示:

  const formData = new FormData();
  formData.append('id', userId)   // <-- numeric type
  formData.append('pictures', images);
Run Code Online (Sandbox Code Playgroud)

我正在执行来自 RNFetchBlob 的发布请求,'Content-Type': 'multipart/form-data'并将 formData 直接传递给它。

关于出了什么问题有什么想法吗?我在某处读到 FormData 只允许字符串或 blob,我应该从数组创建 Blob 吗?我怎样才能做到这一点?

提前致谢。

form-data react-native react-native-fetch-blob

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

桥还没有加载!使用最新的 Wix React-Native-Navigation 时抛出

我正在使用 RNN V1 并决定更新到最新版本,因为我需要更多的自定义,它更新到 V3-alpha。不知道这是否是我的错误,如果我应该去最新的 V2 以获得更高的稳定性。问题是,每当我在不同的 Mac 上启动我的项目时,它都会抛出以下错误:

Exception 'Bridge not yet loaded! Send commands after Navigation.events().onAppLaunched() has been called.' was thrown while invoking setDefaultOptions on target RNNBridgeModule with params (
        {
        statusBar =         {
            style = light;
            visible = 1;
        };
        topBar =         {
            visible = 0;
        };
    },
    30,
    31
)
callstack: (
Run Code Online (Sandbox Code Playgroud)

我设置的唯一地方setDefaultOptions是在启动基于选项卡的导航时。

这是代码。

import { Navigation } from 'react-native-navigation';
import { iconsMap } from '../../_global/AppIcons';
import i18n from '../../_global/i18n';
import { navigatorStyle } …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-navigation

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

如何获取 Angular 9 中包含 mat-paginator 的可重用子组件的引用

mat-table根据材料设计创建了一个组件,它可以与另一个mat-paginator组件一起重复使用。

从组件的角度来看,我分别使用两者。但我希望我可以获得这两个组件的引用,这样我就可以 ViewChild 每个组件、matSort 的表格和分页的分页器。

如果我执行以下操作:

<custom-paginator #paginator .... />

然后将其检索为:

@ViewChild('paginator') paginator: MatPaginator
Run Code Online (Sandbox Code Playgroud)

this.paginator 具有引用,但在控制台上抛出异常,TypeError: You provided 'undefined' where a stream was expected...可能是因为我没有直接将引用设置为 mat-paginator,而是设置为自定义组件?

这是我目前的分页器代码:

<mat-paginator
    [length]="length"
    [pageSize]="pageSize"
    [pageSizeOptions]="pageSizeOptions"
    (page)="pageChange($event)">
</mat-paginator>
Run Code Online (Sandbox Code Playgroud)

这就是我使用它的方式:

<paginator-widget
   #paginator
   [length]="dataSource?.filteredData.length"
   pageSize="25"
   (page)="handlePageChange($event)">
</paginator-widget>
Run Code Online (Sandbox Code Playgroud)

我需要对自定义 mat-table 执行同样的操作,如何访问引用以便将其设置为 dataSource?使用 Angular 9 和 Mat 9。

pagination angular

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

带参数的递归javascript函数?

我有这个javascript递归函数:

function doStuff(graphName) {
    var groupArray = new Array();
    groupArray[0] = "hour";
    groupArray[1] = "day";
    groupArray[2] = "month";
    for(var i = 0; i < groupArray.length; i++) {
        $.get("getchartdata", {"graphName" : graphName, "subgroup" : groupArray[i]})
              .done(function(jsonData){
                  var data = eval(jsonData);
                  drawChart(data, data[0][0], data[0][1]);
              });

    }
    setTimeout(doStuff, 10000);
}
Run Code Online (Sandbox Code Playgroud)

现在问题是它第一次工作得很好,但是再次尝试10秒后,它显示一个错误:

TypeError: data[0] is undefined in drawChart(data, data[0][0], data[0][1]);
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?

如果我在中添加参数 setTimeout(doStuff(graphName), 10000);

浏览器崩溃了.

谢谢.

javascript recursion function

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