以下代码从JSON字符串创建迷你图饼图:
//Display Visitor Screen Size Stats
$.getJSON('models/ucp/traffic/traffic_display_bos.php',
{
type: 'ss',
server: server,
api: api,
ip: ip,
},
function(data)
{
//alert(data.screens);
$('#traffic_bos_ss').sparkline(data.views,
{
type: "pie",
height: "100%",
tooltipFormat: "{{offset:offset}} - {{value}}",
tooltipValueLookups:
{
'offset': data.screens;
}
});
});
饼图已成功创建,但是,我在为偏移量分配正确的标签时遇到问题。调用的JSON字符串如下:
{"screens":"{ 0: '1220x1080', 1: '1620x1080', 2: '1920x1080' }", "views":[2, 2, 61]}
我希望它能够将JSON的屏幕插入到偏移量(data.screens)中。它应该成为:
tooltipValueLookups:
{
'offset': { 0: '1220x1080', 1: '1620x1080', 2: '1920x1080' }
}
如何实现这一目标?
答案 0 :(得分:1)
您的JSON字符串:
{"screens":"{ 0: '1220x1080', 1: '1620x1080', 2: '1920x1080' }", "views":[2, 2, 61]}
是不正确的,因为“屏幕”是单个字符串值(即它具有值“{0:'1220x1080',1:'1620x1080',2:'1920x1080'}”)。您想要删除引号,使其成为具有3个值对的对象,即
{"screens": { "0": '1220x1080', "1": '1620x1080', "2": '1920x1080' }, "views":[2, 2, 61]}
有关此工作的示例,请参阅以下我在fiddle中添加的代码:
var values = {"screens": { 0: '1220x1080', 1: '1620x1080', 2: '1920x1080' }, "views":[2, 2, 61]};
$('#test').sparkline(values.views,
{
type: "pie",
height: "100%",
tooltipFormat: '{{offset:offset}} - {{value}}',
tooltipValueLookups:
{
'offset': values.screens
}
});