CODE—whale 2022-06-21 08:45 采纳率: 50%
浏览 64
已结题

c++语句转成js,或者在js中运行c++

问题遇到的现象和发生背景

需要将这段c++改成js代码在前段刷新accessToken

问题相关代码,请勿粘贴截图

if (url.contains("token/ys7")) {
QJsonValue t = json.value("cause");
if (!t.isUndefined()) {
QJsonObject obj = t.toObject();
t = obj.value("data");
if (!t.isUndefined()) {
obj = t.toObject();
t = obj.value("accessToken");
if (!t.isUndefined()) {
m_token = t.toString();
log("token:" + m_token);
if (formUnit != NULL) formUnit->setToken(m_token);
}
}
}
}

运行结果及报错内容

在idea上运行不了

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • xdspower 2022-06-21 09:57
    关注

    因为你用到了accessTokenjson等这些有预定义结构的东东,所以除非你给出更全面的定义,别人不好进一步解答。但稍微注释转换一下还是可以的。

    转换为js的伪代码:

    if (url.search("token/ys7")>-1) {  //js的字符串搜索,判断url中是否存在"token/ys7"  
       // 下面几级都是json查询结构中的元素,不过c++与js查询处理方式差异很大
       myJSONobj=JSON.parse(jsonText);   // 这里直接一句话就把jsonText 转换为一个js内存对象,后续查询可以据此展开,而且es6语法支持链式判断,可以直接进行查询多级对象
       if (myJSONobj.cause?.data?.accessToken?){
            m_token=myJSONobj.cause.data.accessToken
            control.log("token:" + m_token);
            if(formUnit ) formUnit.setToken(m_token); //  这里这个formUnit 需要你重新定义,而且调用方式和c++是不同的。
       }
    }
    

    上面的代码需要根据实际情况(可能是全面的c++实现),来进一步完善。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟