Skip to content

Commit 9832a59

Browse files
Copilotstephentoub
andcommitted
Use SerializeToElement instead of Deserialize for JsonNode/JsonObject to JsonElement conversion
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
1 parent 4496e2e commit 9832a59

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerTool.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ typeProperty.ValueKind is not JsonValueKind.String ||
540540
JsonElement? elementResult = aiFunctionResult switch
541541
{
542542
JsonElement jsonElement => jsonElement,
543-
JsonNode node => node.Deserialize(McpJsonUtilities.JsonContext.Default.JsonElement),
543+
JsonNode node => JsonSerializer.SerializeToElement(node, McpJsonUtilities.JsonContext.Default.JsonNode),
544544
null => null,
545545
_ => JsonSerializer.SerializeToElement(aiFunctionResult, AIFunction.JsonSerializerOptions.GetTypeInfo(typeof(object))),
546546
};
@@ -550,10 +550,10 @@ typeProperty.ValueKind is not JsonValueKind.String ||
550550
JsonNode? resultNode = elementResult is { } je
551551
? JsonSerializer.SerializeToNode(je, McpJsonUtilities.JsonContext.Default.JsonElement)
552552
: null;
553-
return new JsonObject
553+
return JsonSerializer.SerializeToElement(new JsonObject
554554
{
555555
["result"] = resultNode
556-
}.Deserialize(McpJsonUtilities.JsonContext.Default.JsonElement);
556+
}, McpJsonUtilities.JsonContext.Default.JsonObject);
557557
}
558558

559559
return elementResult;

0 commit comments

Comments
 (0)