Name–value pair
This article needs additional citations for verification. (December 2009) |
A name–value pair, also called an attribute–value pair, key–value pair, or field–value pair, is a fundamental data representation in computing systems and applications. Designers often desire an open-ended data structure that allows for future extension without modifying existing code or data. In such situations, all or part of the data model may be expressed as a collection of 2-tuples in the form <attribute name, value>
with each element being an attribute–value pair. Depending on the particular application and the implementation chosen by programmers, attribute names may or may not be unique.
Examples of use
[edit]Some of the applications where information is represented as name-value pairs are:
- E-mail, in RFC 2822 headers[1]
- Query strings, in URLs
- Optional elements in network protocols, such as IP, where they often appear as TLV (type–length–value) triples
- Bibliographic information, as in BibTeX and Dublin Core metadata
- Element attributes in SGML, HTML and XML
- Some kinds of database systems – namely a key–value database
- OpenStreetMap map data
- Windows registry entries
- Environment variables
Use in computer languages
[edit]Some computer languages implement name–value pairs, or more frequently collections of attribute–value pairs, as standard language features. Most of these implement the general model of an associative array: an unordered list of unique attributes with associated values. As a result, they are not fully general; they cannot be used, for example, to implement electronic mail headers (which are ordered and non-unique).
In some applications, a name–value pair has a value that contains a nested collection of attribute–value pairs. Some data serialization
formats such as JSON support arbitrarily deep nesting.[2]
Other data representations are restricted to one level of nesting, such as INI file's section/name/value.
See also
[edit]References
[edit]- ^ Peter W. Resnick. "Internet Message Format". tools.ietf.org. Retrieved 2018-10-02.
- ^ "JSON Objects". www.w3schools.com. Retrieved 2018-10-02.