92532


提示コードですが以下のソースコードの`let json`の`json`文字列を`arr.name`
のような形で参照したいのですがなぜ`undefined`と表示されるのでしょうか？参考サイト等を調べましたがやり方は以下ように行うそうです。

##### 提示コードのついて

以下のソースコードは`C# WebView`を用いて`javascript`に`json`データを送り`html`を使って描画するという処理内容です。

`GetSendJsonData_Post(JsonData.Post
post)`はそのＣ＃のクラスを`json`データにする処理で`json`コードはその処理した`json`データです。

jsのソースコードはそのjsonの挙動を確認するためのテストコードです。

##### 知りたい事

`C#`で処理した`json`コードを`javascript`側でも使えるようにするために。クラスデータを`json`形式にする方法が知りたいです。

##### 調べたこと

`JsonSerializer.Serialize`でクラスを`json`化  
参考サイトを参考にjsonの形に変換してjsonの値を取得

##### 参考サイト

json変換: <https://cpoint-lab.co.jp/article/201801/1228/>  
JSON.stringify():
<https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify>  
Jsonとはなにか？https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/JSON

##### デバッグコンソール

[code]

    undefined
    Main.js:8 "{ name:sampleName test@mstdn.jp, icon_url:https://media.mstdn.jp, accountPage:https://google.com, content:sampletext }"
    Main.js:9 { name:sampleName test@mstdn.jp, icon_url:https://media.mstdn.jp, accountPage:https://google.com, content:sampletext }
    
[/code]

##### json

[code]

    {"name":"XXXXXXXX","icon_url":"url","accountPage":"url","content":"AAAAA"}
    
[/code]

##### C# ソースコード

[code]

            /*##################################################################################################################
            * 投稿データのjsonを取得
            ###################################################################################################################*/
            static bool b = false;
    
            private string GetSendJsonData_Post(JsonData.Post post)
            {
                string name = post.account.display_name + " " + post.account.username + "@" + account.client.instance;
                //Console.WriteLine(name);
                //string icon_url = post.account.avatar;
                string icon_url = "url";
                string accountPage = "url";
                //string accountPage = post.account.url;
                string content = post.content;
    
                var json = new JsonData.SendData.Post(name,icon_url,accountPage,content);
                
    
                
                string jsonString = JsonSerializer.Serialize(json);
                if( b == false)
                {
                      Console.WriteLine(jsonString);
                    //Console.WriteLine(json);
    
                    b = true;
                }
                return jsonString;
            }
    
    
[/code]

##### ソースコード

[code]

    let json = "{ name:sampleName test@mstdn.jp, icon_url:https://media.mstdn.jp, accountPage:https://google.com, content:sampletext }";
    
    
    let arr = JSON.stringify(json);
    var ar = JSON.parse(arr);
    
    console.log(ar[0].name);
    console.log(arr);
    console.log(ar);
    
        
    
[/code]


CC BY-SA 4.0
2022-12-01T08:54:56.933
92519
2022-12-02T02:15:33.920
2022-12-01T11:05:07.123
55177
55177
question
javascript
C#で生成したjsonデータをjavascriptでも使えるようにする方法が知りたい。


質問文より

> json
[code]

>
> {"name":"XXXXXXXX","icon_url":"url","accountPage":"url","content":"AAAAA"}
>  
[/code]

> ソースコード
[code]

>     let json = "{ name:sampleName test@mstdn.jp,
> icon_url:https://media.mstdn.jp, accountPage:https://google.com,
> content:sampletext }";
>  
[/code]

C#で生成したJSONと全く別の文字列になっています。`"`が消えたり空白が追加されたりしています。

> C#で生成したjsonデータをjavascriptでも使えるようにする方法が知りたい。

まずは文字列を正確にコピーする必要があります。


CC BY-SA 4.0
2022-12-02T02:15:33.920
92532
2022-12-02T02:15:33.920
4236
92519
answer