【发布时间】:2015-07-22 11:15:50
【问题描述】:
我这里有这个 JSON:
[{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ -2.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 1.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, 2.3458776596, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ -5.449212707644754, 2.3458776596, -1.452433 ]
}]
表示图中的点列表。在这种情况下,给定时间戳有三个点,因此这个 JSON 描述了三个图(三个通道)。
这适用于普通通道(即简单的浮点值列表)。 到目前为止一切顺利。
不幸的是,在某些情况下,我们有所谓的“最小最大”通道,其中每个点都表示为一对浮点数!
让我们以最后一个例子为例,将中间通道(第二个)替换为“minmax”通道。这里的问题是我不知道如何对那个“minmax”通道的浮点数进行 JSON 化处理。
[{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ -2.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 1.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ 0.449212707644754, ???, 1.452433 ]
},
{
"HistoryId": "bf39d7cfca8536b3e00e5355dff25a97715bc439a5c73d41d10a9eb0c45f2e68",
"DateTime": "2014-05-13T09:24:49",
"ChannelsValues": [ -5.449212707644754, ???, -1.452433 ]
}]
最好的方法是什么?我可以在其他数组中有未命名的数组吗? 那么在 Javascript 对象中反序列化这样的 JSON 呢?
【问题讨论】:
-
我不知道如何对那个“minmax”通道的浮点数进行 JSON 化处理 为什么不使用嵌套数组?
-
你能给我举个例子吗?一个正确的 SO 答案将不胜感激。
-
确实可以在其他数组中包含数组。那应该没问题。我不知道 javascript 对象中的反序列化是如何工作的。请尝试插入浮点数组并更新结果:)
-
@hindmost JSON 格式将数组声明为值,因此我需要该内部数组的名称。我说的对吗?
-
我需要一个内部数组的名称? 您很可能会将数组与对象混淆。对象应该具有命名属性。数组不应该。
标签: javascript json serialization json-deserialization