Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JsonEventFormatter not respecting "WriteIndented" flag #225

Closed
k-krupka opened this issue Jul 29, 2022 · 1 comment · Fixed by #237
Closed

JsonEventFormatter not respecting "WriteIndented" flag #225

k-krupka opened this issue Jul 29, 2022 · 1 comment · Fixed by #237

Comments

@k-krupka
Copy link

Hey team,
I'm looking for some advise and/or workaround for my issue. My goal is to create a JSON string (pretty and non-pretty).
As of now, I am using the JsonEventFormatter with the indentation options. The SDK is however not respecting this setting.

The below codebase is showing this problem.

var exampleEvent = new CloudEvent()
{
    Id = "example-id",
    Source = new Uri("http://test.com"),
    Type = "example-type"
};
var formatter = new JsonEventFormatter(new JsonSerializerOptions
{
    WriteIndented = true
}, new JsonDocumentOptions());


byte[] bytes = formatter.EncodeStructuredModeMessage(exampleEvent, out _).ToArray();
var jsonString = Encoding.UTF8.GetString(bytes);

Result:
image

@jskeet
Copy link
Contributor

jskeet commented Jul 29, 2022

I'm on holiday at the moment - I'll look at this on Monday.

jskeet added a commit to jskeet/sdk-csharp that referenced this issue Aug 1, 2022
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Aug 1, 2022
…onsoft.Json

This is the Json.NET equivalent of cloudevents#225.

Note that not every option in JsonTextWriter is supported; in the future we could potentially introduce some alternative approach to provide more flexibility.
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Aug 2, 2022
…ext.Json

Fixes cloudevents#225

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Aug 2, 2022
…onsoft.Json

This is the Json.NET equivalent of cloudevents#225.

Note that not every option in JsonTextWriter is supported; in the future we could potentially introduce some alternative approach to provide more flexibility.

Signed-off-by: Jon Skeet <jonskeet@google.com>
@jskeet jskeet closed this as completed in b67ac2b Aug 5, 2022
jskeet added a commit that referenced this issue Aug 5, 2022
…onsoft.Json

This is the Json.NET equivalent of #225.

Note that not every option in JsonTextWriter is supported; in the future we could potentially introduce some alternative approach to provide more flexibility.

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
@jskeet jskeet mentioned this issue Sep 8, 2022
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236)
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit to jskeet/sdk-csharp that referenced this issue Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([cloudevents#236](cloudevents#236))
- Feature: Allow empty payloads in Kafka ([cloudevents#224](cloudevents#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([cloudevents#234](cloudevents#234), part of [cloudevents#231](cloudevents#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([cloudevents#226](cloudevents#226), fixes [cloudevents#225](cloudevents#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([cloudevents#220](cloudevents#220), fixes [cloudevents#219](cloudevents#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([cloudevents#222](cloudevents#222), fixes [cloudevents#221](cloudevents#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([cloudevents#223](cloudevents#223), fixes [cloudevents#175](cloudevents#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
jskeet added a commit that referenced this issue Sep 8, 2022
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([#236](#236))
- Feature: Allow empty payloads in Kafka ([#224](#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([#234](#234), part of [#231](#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([#226](#226), fixes [#225](#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([#220](#220), fixes [#219](#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([#222](#222), fixes [#221](#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([#223](#223), fixes [#175](#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
ericdotnet added a commit to ericdotnet/CSharp-sdk-dev that referenced this issue May 13, 2024
Changes since 2.3.1:

- Feature: Implement underscore prefixes for AMQP (see history) ([#236](cloudevents/sdk-csharp#236))
- Feature: Allow empty payloads in Kafka ([#224](cloudevents/sdk-csharp#224))
- Feature: Implement conversions to and from JObject/JsonElement in JsonEventFormatter ([#234](cloudevents/sdk-csharp#234), part of [#231](cloudevents/sdk-csharp#231))
- Bug fix: Observe JSON serializer options in JsonEventFormat ([#226](cloudevents/sdk-csharp#226), fixes [#225](cloudevents/sdk-csharp#225))
- Bug fix: Put AvroEventFormatter in the right namespace ([#220](cloudevents/sdk-csharp#220), fixes [#219](cloudevents/sdk-csharp#219))
- Bug fix: Use content headers when parsing HTTP requests/responses ([#222](cloudevents/sdk-csharp#222), fixes [#221](cloudevents/sdk-csharp#221))
- Bug fix: Perform release builds with ContinuousIntegrationBuild=true ([#223](cloudevents/sdk-csharp#223), fixes [#175](cloudevents/sdk-csharp#175))

Signed-off-by: Jon Skeet <jonskeet@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants