Fix windows paths in `workspace list` tests (#4386)

diff --git a/test/workspace_test.dart b/test/workspace_test.dart
index 6565ad2..eb6dd51 100644
--- a/test/workspace_test.dart
+++ b/test/workspace_test.dart
@@ -1469,23 +1469,34 @@
 b        a${s}b$s
 ''',
     );
+    String jsonPath(
+      String part1, [
+      String? part2,
+      String? part3,
+      String? part4,
+      String? part5,
+    ]) {
+      return json
+          .encode(p.canonicalize(p.join(part1, part2, part3, part4, part5)));
+    }
+
     await runPub(
       args: ['workspace', 'list', '--json'],
       environment: {'_PUB_TEST_SDK_VERSION': '3.5.0'},
       output: '''
 {
   "packages": [
-      {
+    {
       "name": "myapp",
-      "path": "${p.join(sandbox, appPath)}"
+      "path": ${jsonPath(sandbox, appPath)}
     },
     {
       "name": "a",
-      "path": "${p.join(sandbox, appPath, 'pkgs', 'a')}"
+      "path": ${jsonPath(sandbox, appPath, 'pkgs', 'a')}
     },
     {
       "name": "b",
-      "path": "${p.join(sandbox, appPath, 'pkgs', 'a', 'b')}"
+      "path": ${jsonPath(sandbox, appPath, 'pkgs', 'a', 'b')}
     }
   ]
 }