boostorg / boostorg/json

Support python-style '#' comments

Aperta
#839 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
479
Fork
110
Merge medio
10g 3h
PR unite (30g)
5

Descrizione

PLEASE DON'T FORGET TO "STAR" THIS REPOSITORY :)

When reporting a bug please include the following:

### Version of Boost

1.81

### Steps necessary to reproduce the problem

```
auto parse = [](json::string_view s)
{
return json::parse(
s,
json::storage_ptr(),
json::parse_options { .allow_comments = true,
.allow_trailing_commas = true });
};

parse(R"_json_(
{
"exchange": "bitmex",
"from": "2019-10-01",
"to": "2019-10-02",
"symbols": ["XBTUSD", "ETHUSD"],
"withDisconnectMessages": true,
"dataTypes": ["trade", "book_change", "book_snapshot_10_100ms"],
# other available data types examples:
# 'book_snapshot_10_100ms', 'derivative_ticker', 'quote',
# 'trade_bar_10ms', 'trade_bar_10s'
}
)_json_")
```

This JSON will be parsed by python's parser, but not by boost.json

### All relevant compiler information

Any

### Arguments for supporting this

I am writing a back testing and systematic trading engine. The engine is configured with JSON, picked up either off a config file or via a data bus such as RabbitMQ.

Some components of the system are written in C++ and some in Python. It would be useful to be able to add comments to config files that were parsed by both kinds of components.

### Workaround:

```
parse(R"_json_(
{
"exchange": "bitmex",
"from": "2019-10-01",
"to": "2019-10-02",
"symbols": ["XBTUSD", "ETHUSD"],
"withDisconnectMessages": true,
"dataTypes": ["trade", "book_change", "book_snapshot_10_100ms"],
"_1": "other available data types examples:",
"_2": 'book_snapshot_10_100ms', 'derivative_ticker', 'quote','trade_bar_10ms', 'trade_bar_10s'"
}
)_json_")
```

But you know, yuk!

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.