zjroland 2022-12-24 10:31 采纳率: 50%
浏览 16

js如何处理返回的json数据

我的javascript代码是:

fetch(url, {
            method: 'post',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                'url':link
            })
        }).then(async (res) => {
            let data = await res.json();
             console.log(data);
            wx.config({
                debug: true, 
                appId:data.appid,  //必填,公众号的唯一标识
                timestamp: data.timestamp, // 必填,生成签名的时间戳
                nonceStr: data.nonceStr, // 必填,生成签名的随机串
                signature: data.signature, // 必填,签名
                jsApiList: ["updateAppMessageShareData", "updateTimelineShareData"],
            });
        });

查看console.log(data),发现返回的data是:
{"d":"{"appid":"wxa854430e01470yyh","jsapi_ticket":"O3SMui8bG7kJnF36aXbe8w3-gsgorFbSiEWacVeskrQJv_1I1mF2aTKSDbicr_OY41szYjGl5T-i9DDaRxKT9g","noncestr":"fATeoIKwkeUfnnI","timestamp":"1771785915","outstring"}"}

json字符串前面多了一个d:
data.appid提示提示undefined
我用data.d.appid也无法得到appID,提示undefined,
请问怎么才能解析出正确的appid等参数。

  • 写回答

2条回答 默认 最新

  • |__WhoAmI__| 2022-12-24 11:03
    关注

    需要首先将该字符串解析为JavaScript对象:

    let innerData = JSON.parse(data.d);
    let appId = innerData.appid;
    

    或者也可以修改服务器端代码以直接返回内部JSON对象,而不是作为字符串。这将消除在客户端解析JSON的需要。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月24日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)