繁体   English   中英

如何从 JSON 对象访问数据?

[英]how do I access data from JSON object?

在我的 react-native-webview 的 onMessage 道具中,我正在接收本机事件,如下所示

 {"nativeEvent": {"canGoBack": true, "canGoForward": false, "data": "{\"url\":\"some_url"}", "loading": false, "target": 313, "title": "Doctors Platform", "url": "some_url"}}

我想访问数据对象中的 url 值,知道怎么做吗?

我的代码:

 <WebView
    source={{
      uri: uri,
    }}
    renderLoading={renderLoadingView}
    javaScriptEnabled={true}
    domStorageEnabled={true}
    startInLoadingState={true}
    // onShouldStartLoadWithRequest={onShouldStartLoadWithRequest} //ios
    onNavigationStateChange={onShouldStartLoadWithRequest} //android
    ref={webviewRef}
    injectedJavaScript={jsCode}
    onMessage={(event) => {
      let post = JSON.stringify(event.nativeEvent.data);
      console.log(event)
      console.log('post',post.message)
    }}
  />

任何建议都会很棒,请告诉我需要什么才能更好地理解。

如果您在 data 属性上使用JSON.parse ,那么使用.url它将返回您想要的结果。

 const myevent = {"nativeEvent": {"canGoBack": true, "canGoForward": false, "data": "{\\"url\\":\\"some_url\\"}", "loading": false, "target": 313, "title": "Doctors Platform", "url": "some_url"}}; console.log(JSON.parse(myevent.nativeEvent.data).url);

nativeEvent.data 的值是一个字符串化的对象,您必须解析它才能检索原始对象,您可以使用JSON.parse

 const obj = {"nativeEvent": {"canGoBack": true, "canGoForward": false, "data": "{\\"url\\":\\"some_url\\"}", "loading": false, "target": 313, "title": "Doctors Platform", "url": "some_url"}}; console.log(JSON.parse(obj.nativeEvent.data))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM