相关疑难解决方法(0)

对象数组按元素分组?

请看这个例子:JsFiddle

问题:我有以下内容 JSON Array

y= [ {"LngTrend":15,"DblValue":10,"DtmStamp":1358226000000},     
{"LngTrend":16,"DblValue":92,"DtmStamp":1358226000000},    
{"LngTrend":17,"DblValue":45,"DtmStamp":1358226000000},
{"LngTrend":18,"DblValue":87,"DtmStamp":1358226000000},


{"LngTrend":15,"DblValue":10,"DtmStamp":1358226060000},
{"LngTrend":16,"DblValue":87,"DtmStamp":1358226060000},
{"LngTrend":17,"DblValue":45,"DtmStamp":1358226060000},
{"LngTrend":18,"DblValue":92,"DtmStamp":1358226060000} ]
Run Code Online (Sandbox Code Playgroud)

我试图将这些对象分组,DtmStamp最后得到这样的东西:

 x =  [[1358226000000,10,92,45,87],[1358226060000,10,87,45,92], .......]
Run Code Online (Sandbox Code Playgroud)

换一种说法:

x[0][0] = y[0].DtmStamp ;
x[0][1] = y[0].LngTrend ;
x[0][2] = y[1].LngTrend ;
x[0][3] = y[2].LngTrend ; 
x[0][4] = y[3].LngTrend ;
Run Code Online (Sandbox Code Playgroud)

不幸的是,它以我不想要的东西结束.

这是我到目前为止所尝试的:

   var dataTrendArray = [];
           $.each(x, function (index, value) {
                var trendArray = [];
                if (index % 4 == 0) {
                    trendArray.push(x[index].DtmStamp);
                    for (var i = 0; i < 4; i++) {
                        index = eval(index …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

6
推荐指数
2
解决办法
3万
查看次数

有序的JSONObject

我有一个与数据库通信的servlet然后返回一个有序(ORDER BY时间)对象的列表.在servlet部分,我有

                //access DB, returns a list of User objects, ordered
        ArrayList  users = MySQLDatabaseManager.selectUsers();
                //construct response
        JSONObject jsonResponse = new JSONObject();
        int key = 0;
        for(User user:users){
            log("Retrieve User " + user.toString());
            JSONObject jsonObj = new JSONObject();
            jsonObj.put("name", user.getName());
            jsonObj.put("time", user.getTime());
            jsonResponse.put(key, jsonObj);
            key++;
        }
                //write out
        out.print(jsonResponse);

从日志中我可以看到数据库以正确的顺序返回User对象.

在前端,我有

success: function(jsonObj){
            var json = JSON.parse(jsonObj);
            var id = 0;
            $.each(json,function(i,item) {              
                var time = item.time;               
                var name = item.name;               
                id++;
                $("table#usertable tr:last").after('<tr><td>' + id + '</td …

javascript jquery json servlets

3
推荐指数
1
解决办法
2万
查看次数

阻止Javascript重新排序JSON

我有这两个JSON地图:

{
  "1000006": "Alternate Business Phone",
  "1000008": "Alternate Home Phone",
  "1000001": "Business Phone",
  "1000003": "Clinic Phone",
  "3": "Facsimile",
  "1000007": "Home Phone",
  "1000004": "Lab Phone",
  "4": "Pager",
  "1000002": "Secure Msg Phone"
}
Run Code Online (Sandbox Code Playgroud)

{
  "6": "Business Email",
  "1000005": "Deliver To Email",
  "7": "Personal Email"
}
Run Code Online (Sandbox Code Playgroud)

哪些是按值按字母顺序排列的键值映射.我正在使用这两个来根据另一个下拉列表的选定项目更改下拉菜单的内容.图片来说明:


电话选择:

在此输入图像描述


电邮选择:

在此输入图像描述


但是,正如您在图像中看到的那样,列表项的顺序不会被保留.

处理列表项的我的Javascript是这样的:

  var options_1 = {"1000006":"Alternate Business Phone","1000008":"Alternate Home Phone","1000001":"Business Phone","1000003":"Clinic Phone","3":"Facsimile","1000007":"Home Phone","1000004":"Lab Phone","4":"Pager","1000002":"Secure Msg Phone"};
  var options_2 = {"6":"Business Email","1000005":"Deliver To Email","7":"Personal Email"};
  function changePhoneEmailItems()
  {
    var selectedItem = document.getElementById("addNewCategory").value; …
Run Code Online (Sandbox Code Playgroud)

javascript json

1
推荐指数
1
解决办法
96
查看次数

标签 统计

javascript ×3

jquery ×2

json ×2

servlets ×1