powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / как обработать JSONObject
30 сообщений из 30, показаны все 2 страниц
как обработать JSONObject
    #38963251
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте всем!
не стал создать новую тему и решил писать сюда, т.к. вопрос по highchats.
есть js код вот
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
$(function () {
	var date_json = new Array();
	var info_json = new Array();
	  
	for(i = 0, i < data.json_date.length; i++){
	    date_json.push(data.json_date[i].value);
	}
	  
	for(i = 0, i < data.json_info.length; i++){
	    info_json.push([data.json_info[i].key, parseInt(data.json_info[i].value)]);
	}
	$.getJSON('bosschart', function(data){
	    $('#bosschart').highcharts({
	        chart: {
	            type: 'column'
	        },
	        title: {
	            text: 'Stacked column chart'
	        },
	        xAxis: {
	            categories: date_json //['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
	        },
	        yAxis: {
	            min: 0,
	            title: {
	                text: 'Total fruit consumption'
	            },
	            stackLabels: {
	                enabled: true,
	                style: {
	                    fontWeight: 'bold',
	                    color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
	                }
	            }
	        },
	        legend: {
	            align: 'right',
	            x: -30,
	            verticalAlign: 'top',
	            y: 25,
	            floating: true,
	            backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || 'white',
	            borderColor: '#CCC',
	            borderWidth: 1,
	            shadow: false
	        },
	        tooltip: {
	            formatter: function () {
	                return '<b>' + this.x + '</b><br/>' +
	                    this.series.name + ': ' + this.y + '<br/>' +
	                    'Total: ' + this.point.stackTotal;
	            }
	        },
	        plotOptions: {
	            column: {
	                stacking: 'normal',
	                dataLabels: {
	                    enabled: true,

	                    color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white',

	                    style: {

	                        textShadow: '0 0 3px black'

	                    }
	                }
	            }
	        },
	        series: [{
	            name: 'John',
	            data: [5, 3, 4, 7, 2]
	        }, {
	            name: 'Jane',
	            data: [2, 2, 3, 2, 1]
	        }, {
	            name: 'Joe',
	            data: [3, 4, 4, 2, 5]
	        }]
	    });
	})
});



я сюда хочу поставить свои значения из БД.
[{
name: 'John',
data: [5, 3, 4, 7, 2]
}, {
name: 'Jane',
data: [2, 2, 3, 2, 1]
}, {
name: 'Joe',
data: [3, 4, 4, 2, 5]
}]

для этого создал переменную info_json и вместо той строки написал series:info_json но не получил ожидаемого...

посмотрел консоле javascript там респонс вот таком виде: "{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}"

что делаю не правильно? подскажите пожалуйста...
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964543
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ни у кого нет мнений или идеи?
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964555
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

внести форы внутрь ?
$.getJSON('bosschart', function(data){
...
$('#bosschart').highcharts({
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964560
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

внести форы внутрь ?
$.getJSON('bosschart', function(data){
...
$('#bosschart').highcharts({

можете ещё точнее объяснить? я по JS вообще нуб...
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964564
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-,

ведь я как на сабже сказал уже получаю же "{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}" а вот дальше не совсем понимаю
при series:json_info ----- получаю НИЧЕГО
при series:[{json_info}] ------ тоже самое

вот что надо написать чтоб диаграмма рисовался... уже замучился (((
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964573
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

var data = '{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}';
var s = JSON.parse(data).json_info;
console.log(s);
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964589
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

var data = '{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}';
var s = JSON.parse(data).json_info;
console.log(s);
что должен получить? прямо эту строку? если да то получаю вот только не совсем понял зачем написать статику если json_info формируется из данных бд?
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964650
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
у вас график с данными из примера рисуется?
а с вашими нет. так?
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38964710
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab,
у меня все отрисовалось с вашими данными:
data должна содержать массив, а не строку

var json_info=[
{"name":"NAME1",
"data":[0,2,0,3]},
{"name":"NAME2","data":[1,4,2,3]},
{"name":"NAME3","data":[5,2,9,13]}
]
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965013
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabМузаффар,
у вас график с данными из примера рисуется?
а с вашими нет. так?
да.

mini.weblabmini.weblab,
у меня все отрисовалось с вашими данными:
data должна содержать массив, а не строку

var json_info=[
{"name":"NAME1",
"data":[0,2,0,3]},
{"name":"NAME2","data":[1,4,2,3]},
{"name":"NAME3","data":[5,2,9,13]}
]

вот как это сделать? объясните пожалуйста новичку...
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965025
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab var json_info=[
{"name":"NAME1",
"data":[0,2,0,3]},
{"name":"NAME2","data":[1,4,2,3]},
{"name":"NAME3","data":[5,2,9,13]}
]

у меня эти данные формируется из БД...
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965036
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

series:data.json_info
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965069
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

series:data.json_info
нет, не работает...
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965311
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-series:data.json_info

если вывести через alert(data.json_info) то получаю undefined
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965321
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

а ты выведи data :)
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965327
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

хоть уточняй где алерт кстати :) используй лучше вместо него console.log(data)
давно бы не мучался, а сформировал данные нормально, у тебя на входе косяк, тебе уже сказали
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965337
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-k2-,
мне одному кажется что в
Код: javascript
1.
for(i = 0, i < data.json_date.length; i++)

ошибка синтаксиса
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965348
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergey-k2-,
мне одному кажется что в
Код: javascript
1.
for(i = 0, i < data.json_date.length; i++)

ошибка синтаксиса

и какой же по ОСи х данные вставляется нормально, т.е. у меня дата типа (yyyy-mm-dd)
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965356
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergey,

не кажется, конешно, не считая области видимости data
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965375
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

хоть уточняй где алерт кстати :) используй лучше вместо него console.log(data)
давно бы не мучался, а сформировал данные нормально, у тебя на входе косяк, тебе уже сказали

если console.log(data) то получаю вот такую картину:
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965386
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

было бы неплохо текущий код выложить
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965394
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

было бы неплохо текущий код выложить

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
/stacked column chart
$(function () {
    //    var date_json = new Array();
    var info_json = new Array();
    var info_json_key = new Array();
    var info_json_chislo = new Array();
    $.getJSON('bosschart', function (data) {

        //        for (i = 0;i < data.json_date.length;i++) {
        //            date_json.push(data.json_date[i].key);
        //        }
        for (i = 0;i < data.json_info.length;i++) {
            info_json_key.push(data.json_info[i].name);
            info_json.push([data.json_info[i].name,parseInt(data.json_info[i].data)]);
            info_json_chislo.push(data.json_date[i].value);
            //            processed_json.push([data.abiturients_data[i].key, parseInt(data.abiturients_data[i].value)]); //пример
        }
//        for (i = 0;i < data.json_info.length;i++) {
//            alert(data);
//        }
        //        var data1 = info_json;//'{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}';
        //var s = JSON.parse(info_json);
        console.log(data); 

        $('#chartAbitsAndGroups').highcharts( {
            chart :  {
                type : 'column'
            },
            title :  {
                text : 'Stacked column chart'
            },
            xAxis :  {
                categories : info_json_chislo//['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] //date_json
            },
            yAxis :  {
                min : 0, title :  {
                    text : 'Total fruit consumption'
                },
                stackLabels :  {
                    enabled : true, style :  {
                        fontWeight : 'bold', color : (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
                    }
                }
            },
            legend :  {
                align : 'right', x :  - 30, verticalAlign : 'top', y : 25, floating : true, backgroundColor : (Highcharts.theme && Highcharts.theme.background2) || 'white', borderColor : '#CCC', borderWidth : 1, shadow : false
            },
            tooltip :  {
                formatter : function () {
                    return '<b>' + this.x + '</b><br/>' + this.series.name + ': ' + this.y + '<br/>' + 'Total: ' + this.point.stackTotal;
                }
            },
            plotOptions :  {
                column :  {
                    stacking : 'normal', dataLabels :  {
                        enabled : true, color : (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white', style :  {
                            textShadow : '0 0 3px black'
                        }
                    }
                }
            },
            series : //[{name : 'test', data : test},{name : 'tset', data : tset}]
            //            [{name : 'Abiturients',data:info_json}]
            data

            //                                                [{"name" : "John", "data" : [5, 3, 4, 7, 2, 2, 3, 2, 1]},
            //                                                {"name" : "Jane", "data" : [2, 2, 3, 2, 1, 2, 3, 2, 1]},
            //                                                {"name" : "Joe", "data" : [3, 4, 4, 2, 5, 4, 4, 2, 5]},
            //                                                {"name" : "Qwe", "data" : [3, 4, 4, 2, 5, 4, 4, 2, 5]}]
        });
    })

});
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965536
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

series : info_json
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965547
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот пример рабочего кода:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script>
$(function () {
	var json_data=[{
            data: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
            pointStart: 1
        }];
    $('#container').highcharts({

        title: {
            text: 'Logarithmic axis demo'
        },

        xAxis: {
            tickInterval: 1
        },

        yAxis: {
            type: 'logarithmic',
            minorTickInterval: 0.1
        },

        tooltip: {
            headerFormat: '<b>{series.name}</b>
',
            pointFormat: 'x = {point.x}, y = {point.y}'
        },

        series: json_data
    });
});
</script>
</head>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
</html>
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965695
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-Музаффар,

series : info_json

в консоле все тот же как в рисунке... а вот в диаграмме появились некоторые изменения, а точнее:
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965730
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunaksergey,

да но у меня тоже работает если поставить статические данные а вот то что отправляется из сервлета не вставляет и самое интересное вставляет дату а вот остальных нет... при этом и дата и данные в одном объекте поступают (имею ввиду формируется JSONObject и тот отправляется в js)...
вот и вся странность
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965754
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

преобразование данных из ДБ (конвертация массива в строку)

Код: javascript
1.
2.
3.
4.
5.
var data1 = '{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}';
json_data = JSON.parse(data1)
for (i=0; i<json_data.json_info.length; i++) {
  json_data.json_info[i].data = eval(json_data.json_info[i].data)
}
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38965948
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-, mini.weblab, kunaksergey, спасибо что помогли разобраться...

-k2-Музаффар,

series:data.json_info

я вообще не понял...
т.к. тот момент эта строка не работала, вот с утра посмотрел с помощью FireBug'а и решил опять таки написать указанный код, и вуаля всё начало работать... но не понял почему так было?

З.Ы. если не сложно объясните пожалуйста почему данные info_json_chislo вставляется на прямую (имею ввиду categories:info_json_chislo), а вот данные json_info исключительно вот таким образом series:data.json_info ?
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38966130
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
пусть переменная
data = {"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}

тогда,
data.json_info , будет содержать
[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]

(Reference: работа с объектами в JS)
...
Рейтинг: 0 / 0
как обработать JSONObject
    #38966156
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab,

спасибо.

ещё появились некоторые вопросы но для начала я сам поищу если не найду то тему буду продолжать... :)
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / как обработать JSONObject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]