4

JSONをデータベースに保存してロードしようとしています

収納してみた

{name: "John", age: 31, city: "New York"}

正しく保存されました。データベースを確認したところ、正しく表示されました。

{name: "John", age: 31, city: "New York"}

景色を眺め続けた

"{name: \"John\", age: 31, city: \"New York\"}"

これは私のコードです。

public function store()
{

    $paste             = new Paste;
    $paste->uuid       = Str::uuid()->toString();
    $paste->data       = trim(Request::get('data',''));
    $paste->save();

    return Redirect::to('/paste/'.$paste->uuid)->with('success', 'Created');

}

public function show($uuid)
{
    $paste  = Paste::where('uuid',$uuid)->first();
    return response()->json($paste->data);
}

ヒントはありますか?

ここで再現可能

https://www.bunlongheng.com/paste


#2 を試す

私がこれをしたら

public function show($uuid)
{


    $paste  = Paste::where('uuid',$uuid)->first();
    return View::make('layouts.fe.pastes.show', get_defined_vars());

}

私の見解では、この1行しかありません

{!!$paste->data!!}

今提出したものと同じデータを取得します。

{name: "John", age: 31, city: "New York"}

しかし、ブラウザはそれをテキストとして検出しましたが、私がやろうとしていることの目的を破った応答 JSON ではありませんでした。


#3 を試す

public function show($uuid)
{
    $paste  = Paste::where('uuid',$uuid)->first();
    return response()->json(stripslashes($paste->data));
    
}

結果

"{name: \"John\", age: 31, city: \"New York\"}"

#4 を試す

public function show($uuid)
{
    $paste  = Paste::where('uuid',$uuid)->first();
    return View::make('layouts.fe.pastes.show', get_defined_vars());
}

見る

{{ json_encode($paste->data, JSON_UNESCAPED_SLASHES) }}

結果

"{name: \"John\", age: 31, city: \"New York\"}"

#5 を試す

問題は保存にあると思います...読み込みとレンダリングではありません。

私は試した

return response()->json($paste);

私のJSONパーサーはそれを検出しました...

ここに画像の説明を入力

{
"id": 11,
"status": 0,
"uuid": "0c40f97d-7d98-42c6-864e-71d3ed81eed3",
"name": "n6ou",
"password": "",
"expiration": "",
"type": "json",
"data": "{name: \"John\", age: 31, city: \"New York\"}",
"created_at": "2021-04-22T22:53:11.000000Z",
"updated_at": "2021-04-22T22:53:11.000000Z"
}

収納していたのはこちら

$paste->data       = trim(Request::get('data',''));
$paste->save();

#6 を試す

私のデータ/コンテンツに疑問を持っている方へ

Pastebinに同じ行を貼り付けてみました

ここに画像の説明を入力

それはきれいにされています、あなたは下に見ることができます。

https://pastebin.com/raw/r9akUK1v

4

5 に答える 5