AjaxリクエストからJavascriptオブジェクトを読み取ることができません

プロキシマケンタウリ

Chromeネットワーク->プレビューウィンドウに以下のように構成された次のオブジェクトがあります。

n_days_orders: 
    index: ["Sun, 21 Oct 2018", "Mon, ...
    last_n: 7
    quantity: [0, 0, 0, 0, 0, 0, 0]

私は以下を使用して、がJSONオブジェクトであるかどうかを確認し、そうである場合はそれを解析します。

後の値は、JSONオブジェクトがあるかどうかはどのように確認できますか?

function isJSON (something) {
  if (typeof something !== 'string') {
    something = JSON.stringify(something)
  }
  try {
    JSON.parse(something)
    return true
  } catch (e) {
    return false
  }
}

if (isJSON(data.n_days_orders)) {
    try {
        daysOrders = JSON.parse(data.n_days_orders)
    } catch (e) {
        console.log(e.message)
        //the line below is printed
        >>Unexpected token o in JSON at position 1
    }
}

エラーをスローせずにオブジェクトの値を取得するにはどうすればよいですか?

JVal別名SolidSnake

isJSONをパーサーとして試して、値を検出して解析するか、エラーをスローしてください。参照上に存在することに問題なくobjプロパティにアクセスする方法は、インデックス値によるものです。

let t = data.n_days_orders //will raise an exception if the field does not exist;
let tmp = data['n_days_orders'] //will allow you the cast and return an undefined value

文字列が有効なJSONであるかどうかを確認する適切な方法は、文字列を解析して例外を処理することです。jstypeof比較はを返し'object'ます。

モデルによって記述されたJSON形式のプロトタイプまたはチェッカーを作成する場合は、ループ内のフィールドをチェックしてその存在を確認する方法がありますが、これには各オブジェクトのO(props)表記が必要になるため注意してください。遅延のため。

function checkMyModel(model , prototypemodel){
    let props = Object.keys(prototypemodel);
    let notexist = props.filter((p)=>{
        return (model[p] === undefined );
    })
    console.log(notexist);
    return notexist.length > 0 ? false : true;
}
var proto = {id: null, name:null , value:null , z : null }
var m1 = {id: 1, name:'john' , z : null }
var m2 = {id: 1, name:'john1' ,value:'iam a value2'}
var m3 = {id: 1, name:'john2' ,value:'iam a value3' , z : 34 }

console.log(checkMyModel(m1,proto)); //false missing value
console.log(checkMyModel(m2,proto)); //false missing z

しかし、私はあなたがプロパティが存在するかどうかだけをチェックしたいと思うと思います

function isJSON (something) {
  try {
      return(typeof something !== 'object') ? JSON.parse(something) : something;
  } catch (e){ console.warn(e);throw e; }
}
function getDayOrdes (value){
  try {
        let obj = isJSON(value);
        let t= obj['n_days_orders'] ;
        return  (t !== null && t !== undefined) ? t : [];
  } catch (e) { return e.message; }
}

var obj1 = { id : 'order1' , value : '111$'}, obj2 = { id : 'order2' , value : '222$'};
var json1 = { id: '' , n_days_orders: [obj1 , obj2]};
var json2 = JSON.stringify(json1) ,json3 = { id: 1 , values: [obj1 , obj2]};

console.log(getDayOrdes(json1)); //returns obj
console.log(getDayOrdes(json2 + 'zasaza')); //throws json parse error
console.log(getDayOrdes(json2)); //returns obj
console.log(getDayOrdes(json3)); //undefined n_days_orders does not exist

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

返されたJavascriptオブジェクトを別のスクリプトファイルから読み取ることができません

分類Dev

freadはファイルからオブジェクトを読み取ることができません

分類Dev

リクエストライブラリからjson応答を読み取ることができません

分類Dev

axiosリクエストに反応します。setStateは応答オブジェクトを読み取ることができません

分類Dev

Python:FileStorageオブジェクトから読み取ることができません

分類Dev

JSONオブジェクトを読み取ることができませんか?

分類Dev

ScalaEclipseプロジェクト-リソースディレクトリからテキストファイルを読み取ることができません

分類Dev

Freemarkerテンプレートでオブジェクト値を読み取ることができません

分類Dev

FirebaseStreamクエリからオブジェクトのリストを返すことができません

分類Dev

FirebaseStreamクエリからオブジェクトのリストを返すことができません

分類Dev

データベースまたはオブジェクトを読み取り専用で読み取ることができません

分類Dev

jsonオブジェクト、NPEでjsonarrayを読み取ることができません

分類Dev

Angular 2/4はinitForm()でオブジェクトを読み取ることができません

分類Dev

Angular4ネストされたオブジェクトはnull値エラーを読み取ることができません

分類Dev

未定義のプロパティを読み取ることができません。ElectronBrowserWindowオブジェクト

分類Dev

ReactJS-状態オブジェクトのthis.props.valueを読み取ることができません

分類Dev

Reactは配列内のオブジェクトを読み取ることができません(状態)

分類Dev

Angularは配列内のオブジェクトを読み取ることができません

分類Dev

すべてのJSONオブジェクトを読み取ることができません

分類Dev

配列内のオブジェクトを読み取ることができません

分類Dev

C ++でファイルから読み取ったオブジェクトを並べ替えることができません

分類Dev

gsonや改造を使用してオブジェクトからデータを読み取ることができません

分類Dev

ボケ-パンダはJSからExcelファイルのbytesIOオブジェクトを読み取ることができません

分類Dev

フラスコからjavascriptに送信されたオブジェクトBoundingPolyを読み取ることができません。この境界をhtmlで使用し、この境界を画像に描画したい

分類Dev

JSONObjectは、オブジェクトが正しくインスタンス化されていても、既存のオブジェクトから属性を読み取ることができません

分類Dev

Angularはオブジェクトにアクセスできますが、プロパティを読み取ることはできません

分類Dev

なぜPythonは外部スコープから「リスト」オブジェクトを読み取ることができるのに、「int」オブジェクトに対して「割り当て前に参照」エラーが発生するのですか?

分類Dev

JESTのIFステートメントで未定義オブジェクトのプロパティを読み取ることができません

分類Dev

Pythonでjsonファイルを読み取ることができません。タイプエラーの取得:jsonオブジェクトは「TextIOWrapper」です

Related 関連記事

  1. 1

    返されたJavascriptオブジェクトを別のスクリプトファイルから読み取ることができません

  2. 2

    freadはファイルからオブジェクトを読み取ることができません

  3. 3

    リクエストライブラリからjson応答を読み取ることができません

  4. 4

    axiosリクエストに反応します。setStateは応答オブジェクトを読み取ることができません

  5. 5

    Python:FileStorageオブジェクトから読み取ることができません

  6. 6

    JSONオブジェクトを読み取ることができませんか?

  7. 7

    ScalaEclipseプロジェクト-リソースディレクトリからテキストファイルを読み取ることができません

  8. 8

    Freemarkerテンプレートでオブジェクト値を読み取ることができません

  9. 9

    FirebaseStreamクエリからオブジェクトのリストを返すことができません

  10. 10

    FirebaseStreamクエリからオブジェクトのリストを返すことができません

  11. 11

    データベースまたはオブジェクトを読み取り専用で読み取ることができません

  12. 12

    jsonオブジェクト、NPEでjsonarrayを読み取ることができません

  13. 13

    Angular 2/4はinitForm()でオブジェクトを読み取ることができません

  14. 14

    Angular4ネストされたオブジェクトはnull値エラーを読み取ることができません

  15. 15

    未定義のプロパティを読み取ることができません。ElectronBrowserWindowオブジェクト

  16. 16

    ReactJS-状態オブジェクトのthis.props.valueを読み取ることができません

  17. 17

    Reactは配列内のオブジェクトを読み取ることができません(状態)

  18. 18

    Angularは配列内のオブジェクトを読み取ることができません

  19. 19

    すべてのJSONオブジェクトを読み取ることができません

  20. 20

    配列内のオブジェクトを読み取ることができません

  21. 21

    C ++でファイルから読み取ったオブジェクトを並べ替えることができません

  22. 22

    gsonや改造を使用してオブジェクトからデータを読み取ることができません

  23. 23

    ボケ-パンダはJSからExcelファイルのbytesIOオブジェクトを読み取ることができません

  24. 24

    フラスコからjavascriptに送信されたオブジェクトBoundingPolyを読み取ることができません。この境界をhtmlで使用し、この境界を画像に描画したい

  25. 25

    JSONObjectは、オブジェクトが正しくインスタンス化されていても、既存のオブジェクトから属性を読み取ることができません

  26. 26

    Angularはオブジェクトにアクセスできますが、プロパティを読み取ることはできません

  27. 27

    なぜPythonは外部スコープから「リスト」オブジェクトを読み取ることができるのに、「int」オブジェクトに対して「割り当て前に参照」エラーが発生するのですか?

  28. 28

    JESTのIFステートメントで未定義オブジェクトのプロパティを読み取ることができません

  29. 29

    Pythonでjsonファイルを読み取ることができません。タイプエラーの取得:jsonオブジェクトは「TextIOWrapper」です

ホットタグ

アーカイブ