Javascript 有条件地向JSON对象添加自定义颜色

Javascript 有条件地向JSON对象添加自定义颜色,javascript,java,json,leaflet,Javascript,Java,Json,Leaflet,我将java中每个元素的自定义属性设置为JSONArray,然后将其添加到JSONObject中 但现在,在某些情况下,我必须添加自定义属性以显示不同颜色的标记 有条件地给传单标记上色的最佳方法是什么 注意 这基本上是一个设计问题。我是否应该筛选/修改/指示它已经在后端中, 我应该在哪里构建JSONObject,还是应该在JavaScript中迭代构建的对象,在那里找到最早的日期,并给它定制颜色 实例 如果ereignisZeit最高,则标记为红色,如果最低,则为绿色,否则为蓝色 额外的 我想对

我将java中每个元素的自定义属性设置为JSONArray,然后将其添加到JSONObject中

但现在,在某些情况下,我必须添加自定义属性以显示不同颜色的标记

有条件地给传单标记上色的最佳方法是什么

注意 这基本上是一个设计问题。我是否应该筛选/修改/指示它已经在后端中, 我应该在哪里构建JSONObject,还是应该在JavaScript中迭代构建的对象,在那里找到最早的日期,并给它定制颜色

实例 如果ereignisZeit最高,则标记为红色,如果最低,则为绿色,否则为蓝色

额外的
我想对列表进行排序,第一项是红色,最后一项是绿色,其余是蓝色。但是也许有一个更好的,不需要修改现有的JSON来给它定制颜色。

在你已经在后端制作了JSON之后,你能给我一个很好的理由在前端这样做吗?只要把它放在你需要的第一位,你就可以把它做出来,而不是以后再做

除非你是在设计UI的意义上谈论颜色?然后它应该在前端完成,如果不是为了其他任何事情,那么就要保持关注点的分离,并将样式保持在应该的位置

您可能希望稍后更改样式,但不希望因此而重建JSON数据


从这个问题上,很难说这些颜色到底象征着什么。如果是数据-后端,如果是UI设计-前端。

实际上取决于您的体系结构。我假设,无论您的数据层是什么,您都可以更容易地按日期顺序、时间戳ASC或其他任何方式对结果进行排序。因此,如果后端和前端之间的API保证了这种顺序,您可以专门处理数据的第一个[0]元素来添加颜色。@KarlReid是的,就是这样。所以你要我把第一个元素的前端,给它定制颜色是的,这就是我要做的。只要您确信从后端获得的数据顺序是明确定义的,并且您只想对数据的显示进行UI更改,您就可以选择第一个元素并对其着色。这些粗体调用是什么?它创建的哪个对象有一个append方法?感谢您的快速响应:它只是用于前端,我不需要数据,它只是用于自定义传单标记coloring@0x45,好的,看看这个标记有什么不同,然后把我假设的某种状态属性的数据发送到UI。在UI上,通过css或其他方式基于数据属性应用颜色。好的,那么@M.Prokhorov您是在告诉我在后端设置状态,在前端读取该属性,并相应地进行样式设置吗?@0x45,准确地说。例如,集合使该标记具有属性gps|U level,根据您的描述,该属性将具有三个值:{HIGH | NORMAL | LOW}。然后,您的前端读取gps_级别并设置颜色、不同图标或其他任何内容,您的后端不需要关心前端做了什么。我同意@M.Prokhorov
properties.put("popupContent", //
            bold("gps_popup_fztz_label").append(fZ).append(" / ").append(tZ).append(BR)//
                    .append(bold("gps_popup_code_label")).append(code).append(BR)//
                    .append(bold("gps_popup_text_label")).append(text).append(BR)//
                    .append(bold("gps_popup_status_label")).append(status).append(BR)//
                    .append(bold("gps_popup_zeit_label").append(ereignisZeit).toString()));