将字典数组从 iOS 传递给 javascript 函数
Passing array of dictionary to javascript function from iOS
我的 javascript 函数需要这种类型的数组:
var data = [{
"sale": "202",
"year": "2000"
}, {
"sale": "215",
"year": "2002"
}, {
"sale": "179",
"year": "2004"
}, {
"sale": "199",
"year": "2006"
}, {
"sale": "134",
"year": "2008"
}, {
"sale": "176",
"year": "2010"
}];
我想将此数组作为参数传递给 [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"js_func(%@, %@)", y1Arr, y2Arr]];
我正在传递具有以下格式的字典数组:
({
x = "663.78";
y1 = "-0.000";
},
{
x = "663.88";
y1 = "0.005";
},
{
x = "663.98";
y1 = "0.019";
},
{
x = "664.08";
y1 = "-0.001";
}
)
但是它不起作用...
你不应该在 stringWithFormat 中直接传递你的数组,你应该首先将它们转换成 json 对象,然后将那些 json 对象(作为字符串表示)传递给 stringWithFormat
NSData *data1 = [NSJSONSerialization dataWithJSONObject:y1Arr options:0 error:NULL];
NSString *y1ArrStr = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
NSData *data2 = [NSJSONSerialization dataWithJSONObject:y2Arr options:0 error:NULL];
NSString *y2ArrStr = [[NSString alloc] initWithData:data2 encoding:NSUTF8StringEncoding];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"js_func(%@, %@)", y1ArrStr, y2ArrStr]];
我的 javascript 函数需要这种类型的数组:
var data = [{
"sale": "202",
"year": "2000"
}, {
"sale": "215",
"year": "2002"
}, {
"sale": "179",
"year": "2004"
}, {
"sale": "199",
"year": "2006"
}, {
"sale": "134",
"year": "2008"
}, {
"sale": "176",
"year": "2010"
}];
我想将此数组作为参数传递给 [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"js_func(%@, %@)", y1Arr, y2Arr]];
我正在传递具有以下格式的字典数组:
({
x = "663.78";
y1 = "-0.000";
},
{
x = "663.88";
y1 = "0.005";
},
{
x = "663.98";
y1 = "0.019";
},
{
x = "664.08";
y1 = "-0.001";
}
)
但是它不起作用...
你不应该在 stringWithFormat 中直接传递你的数组,你应该首先将它们转换成 json 对象,然后将那些 json 对象(作为字符串表示)传递给 stringWithFormat
NSData *data1 = [NSJSONSerialization dataWithJSONObject:y1Arr options:0 error:NULL];
NSString *y1ArrStr = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
NSData *data2 = [NSJSONSerialization dataWithJSONObject:y2Arr options:0 error:NULL];
NSString *y2ArrStr = [[NSString alloc] initWithData:data2 encoding:NSUTF8StringEncoding];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"js_func(%@, %@)", y1ArrStr, y2ArrStr]];