Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何最好地保存重叠的数据?_Javascript_Json_Xml_Database_Save - Fatal编程技术网

Javascript 如何最好地保存重叠的数据?

Javascript 如何最好地保存重叠的数据?,javascript,json,xml,database,save,Javascript,Json,Xml,Database,Save,假设我有一篇由多个章节组成的文本,它由多个段落组成,它由多个句子组成。在JSON中,我可能会将其保存如下: // Pseudo Code chapter { paragraphs { sentences { } } } 但是,让我们介绍另一个需要保存/跟踪的单元,并将其称为“部分”。一个部分也包含句子,可以扩展到多个段落,但完全独立于段落,即它不总是完整地包装整个段落,但有时一个段落只有一个句子,有时扩展到1 1/2个段落 我不知道在

假设我有一篇由多个章节组成的文本,它由多个段落组成,它由多个句子组成。在JSON中,我可能会将其保存如下:

// Pseudo Code
    chapter {
     paragraphs {
      sentences {
      }
     }
    }
但是,让我们介绍另一个需要保存/跟踪的单元,并将其称为“部分”。一个部分也包含句子,可以扩展到多个段落,但完全独立于段落,即它不总是完整地包装整个段落,但有时一个段落只有一个句子,有时扩展到1 1/2个段落

我不知道在何处以及如何保存它——JSON或XML格式。我也不想重复自己的话,而是把这些信息保存在其他地方,因为我的应用程序将这些信息放在一个地方是有意义的


有什么想法吗?

这不是一个简单的解决方案,但这可以奏效

较小的公分母是句子,我将在每个句子上添加一个非强制性属性,并引用(或不引用)一节


在这里,第1节将第2句(第1章/第1段)、第4句(第1章/第2段)和第5句(第2章/第1段)

您需要注意的是,多年来,标记社区在重叠层次的建模方面做了大量工作。维基百科中有一个概述:

这可能是开始阅读的好地方

数据处理社区也开展了一些工作:20世纪70年代,Michael Jackson的JSD/JSP方法包含了大量关于在出现“边界冲突”(即两个层次都没有直接映射到另一个层次)时将一个层次转换为另一个层次的材料。20世纪80年代的(不成功的)ISO ODA(办公文档体系结构)标准特别关注文档的逻辑结构(章节、段落)与分页表示(页面集、页面、列、块)之间的关系,这是两个重叠层次结构的一种特殊情况;当然,XSLT背后的很多思想都涉及从文档的逻辑层次结构到分页表示的转换


因此,在你重新发明轮子之前,先看看其他人是如何解决这个问题的

为什么不在数据库中使用后端?
chapter : [
  1 : {                                // Chapter 1
    paragraphs : [
      1 : {                            // Paragraph 1.1
        sentences : [
          1 : {
            text : 'sentence 1',
            section : ''
          },
          2 : {
            text : 'sentence 2',
            section : 'section 1'
          }
        ]
     }, 
     2 : {                              // Paragraph 1.2
       sentences : [
          1 : {
            text : 'sentence 3',
            section : ''
          },
          2 : {
            text : 'sentence 4',
            section : 'section 1'
          }
        ]
      }
    ]
  }
  2 : {                                // Chapter 2
    paragraphs : [
      1 : {                            // Paragraph 2.1
        sentences : [
          1 : {
            text : 'sentence 5',
            section : 'section 1'
          },
      }
    ]
]