diff --git a/samples/StandaloneApp/Pages/FetchData.cshtml b/samples/StandaloneApp/Pages/FetchData.cshtml
index a14615eb57..e426907457 100644
--- a/samples/StandaloneApp/Pages/FetchData.cshtml
+++ b/samples/StandaloneApp/Pages/FetchData.cshtml
@@ -1,4 +1,5 @@
-@using Microsoft.AspNetCore.Blazor.Browser.Services.Temporary
+@using Microsoft.AspNetCore.Blazor
+@using Microsoft.AspNetCore.Blazor.Browser.Services.Temporary
@inject HttpClient Http
Weather forecast
@@ -40,7 +41,7 @@ else
protected override async Task OnInitAsync()
{
var json = await Http.GetStringAsync("/sample-data/weather.json");
- forecasts = Microsoft.AspNetCore.Blazor.Json.Deserialize(json);
+ forecasts = JsonUtil.Deserialize(json);
}
class WeatherForecast
diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Interop/RegisteredFunction.cs b/src/Microsoft.AspNetCore.Blazor.Browser/Interop/RegisteredFunction.cs
index 5c6d1b42c6..6aae64af93 100644
--- a/src/Microsoft.AspNetCore.Blazor.Browser/Interop/RegisteredFunction.cs
+++ b/src/Microsoft.AspNetCore.Blazor.Browser/Interop/RegisteredFunction.cs
@@ -23,10 +23,10 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Interop
{
// This is a low-perf convenience method that bypasses the need to deal with
// .NET memory and data structures on the JS side
- var argsJson = args.Select(Json.Serialize);
+ var argsJson = args.Select(JsonUtil.Serialize);
var resultJson = InvokeUnmarshalled("invokeWithJsonMarshalling",
argsJson.Prepend(identifier).ToArray());
- return Json.Deserialize(resultJson);
+ return JsonUtil.Deserialize(resultJson);
}
///
diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRendererEventDispatcher.cs b/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRendererEventDispatcher.cs
index aacb277f3f..5bc8668ca4 100644
--- a/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRendererEventDispatcher.cs
+++ b/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRendererEventDispatcher.cs
@@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Rendering
// This can be simplified in the future when the Mono WASM runtime is enhanced.
public static void DispatchEvent(string eventDescriptorJson, string eventArgsJson)
{
- var eventDescriptor = Json.Deserialize(eventDescriptorJson);
+ var eventDescriptor = JsonUtil.Deserialize(eventDescriptorJson);
var eventArgs = ParseEventArgsJson(eventDescriptor.EventArgsType, eventArgsJson);
var browserRenderer = BrowserRendererRegistry.Find(eventDescriptor.BrowserRendererId);
browserRenderer.DispatchBrowserEvent(
@@ -33,11 +33,11 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Rendering
switch (eventArgsType)
{
case "mouse":
- return Json.Deserialize(eventArgsJson);
+ return JsonUtil.Deserialize(eventArgsJson);
case "keyboard":
- return Json.Deserialize(eventArgsJson);
+ return JsonUtil.Deserialize(eventArgsJson);
case "change":
- return Json.Deserialize(eventArgsJson);
+ return JsonUtil.Deserialize(eventArgsJson);
default:
throw new ArgumentException($"Unsupported value '{eventArgsType}'.", nameof(eventArgsType));
}
diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Services/Temporary/HttpClient.cs b/src/Microsoft.AspNetCore.Blazor.Browser/Services/Temporary/HttpClient.cs
index 2d964d6741..24af600334 100644
--- a/src/Microsoft.AspNetCore.Blazor.Browser/Services/Temporary/HttpClient.cs
+++ b/src/Microsoft.AspNetCore.Blazor.Browser/Services/Temporary/HttpClient.cs
@@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Services.Temporary
}
private string SerializeHeadersAsJson(HttpRequestMessage request)
- => Json.Serialize(
+ => JsonUtil.Serialize(
(from header in request.Headers.Concat(request.Content?.Headers ?? Enumerable.Empty>>())
from headerValue in header.Value // There can be more than one value for each name
select new[] { header.Key, headerValue }).ToList()
@@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Services.Temporary
}
else
{
- var responseDescriptor = Json.Deserialize(responseDescriptorJson);
+ var responseDescriptor = JsonUtil.Deserialize(responseDescriptorJson);
var responseContent = responseBodyText == null ? null : new StringContent(responseBodyText);
var responseMessage = responseDescriptor.ToResponseMessage(responseContent);
tcs.SetResult(responseMessage);
diff --git a/src/Microsoft.AspNetCore.Blazor/Json/Json.cs b/src/Microsoft.AspNetCore.Blazor/Json/JsonUtil.cs
similarity index 79%
rename from src/Microsoft.AspNetCore.Blazor/Json/Json.cs
rename to src/Microsoft.AspNetCore.Blazor/Json/JsonUtil.cs
index 984057dd3c..7d96e594d4 100644
--- a/src/Microsoft.AspNetCore.Blazor/Json/Json.cs
+++ b/src/Microsoft.AspNetCore.Blazor/Json/JsonUtil.cs
@@ -3,10 +3,14 @@
namespace Microsoft.AspNetCore.Blazor
{
+ // TODO: Once we no longer need the Razor base class hacks, rename this from 'JsonUtil'
+ // to 'Json', because it's a better name. Currently we can't call it 'Json' because the
+ // fake Razor base class already has a property called 'Json'.
+
///
/// Provides mechanisms for converting between .NET objects and JSON strings.
///
- public static class Json
+ public static class JsonUtil
{
///
/// Serializes the value as a JSON string.