[英]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.