协助使用值作为变量构建Json数据

时间:2016-02-18 02:12:37

标签: json wordpress

你好,当一些值是“变量”时,我需要一些帮助编码一些Json数据。如果我硬编码他的json数据那么API调用工作。这是硬编码的Json数据:

{
"loanTerm": ["Y30","Y15","Y10","Y7_1"],
"loanType": ["FIXED","ARM"],
"bestExecutionMethod":"BY_POINT_GROUP",
"compensationPayer": "BORROWER",
"lockPeriod": "D30",
 "quoteTypesToReturn": [
 "CLOSEST_TO_ZERO_WITH_FEE","CLOSEST_TO_ZERO_NO_FEE"
],
"propertyZip": 48009,
"fico": 760,
"propertyAppraisedValue": 250000,
"loanAmount": 200000
 }

但我需要做的是使用值中的变量来组装这个Json数据的代码。当我这样做时,调用不起作用,这是我的代码:

 $jsonInput = "{
      \"loanTerm\": [" . get_option('loanTerm') . "],
      \"loanType\": [" . get_option('loanType') . "],
          \"bestExecutionMethod\": \"".get_option('best_execution_method')."\",
    \"compensationPayer\": \"".get_option('compensation_payer')."\",
     \"lockPeriod\": \"".get_option('lock_period')."\",
     \"quoteTypesToReturn\": [" . get_option('quote_types_to_return') . "],
     \"dontReturnCachedResults\": " .  get_option('dont_return_cached_results') . ",
      \"propertyZip\": " . get_option('property_zip') . ",
     \"fico\": " . get_option('minFICO') . ",
      \"propertyAppraisedValue\": " . get_option('propertyAppraisedValue') .  ",
      \"loanAmount\": " . get_option('loanAmount') . "
   }";

“get_option()”项目正在从wordpress选项表中提取变量;那些工作;所以这是别的......

任何人都可以看到我的数据有什么问题吗?

非常感谢Gerard

1 个答案:

答案 0 :(得分:2)

使用内置json_encode函数构建JSON。

 json_encode(array(
'loanTerm' => ((get_option('loanTerm') != false) ? array(get_option('loanTerm')) : 'some_deafault_value'),
'loanType' => ((get_option('loanType') != false) ? array(get_option('loanType')) : 'some_deafault_value'),
'bestExecutionMethod' => ((get_option('best_execution_method') != false) ? get_option('best_execution_method') : 'some_deafault_value'),
'compensationPayer' => ((get_option('compensation_payer') != false) ? get_option('compensation_payer') : 'some_deafault_value'),
'lockPeriod' => ((get_option('lock_period') != false) ? get_option('lock_period') : 'some_deafault_value'),
'quoteTypesToReturn' => ((get_option('quote_types_to_return') != false) ? array(get_option('quote_types_to_return')) : 'some_deafault_value'),
'dontReturnCachedResults' => ((get_option('dont_return_cached_results') != false) ? get_option('dont_return_cached_results') : 'some_deafault_value'),
'propertyZip' => ((get_option('property_zip') != false) ? get_option('property_zip') : 'some_deafault_value'),
'fico' => ((get_option('minFICO') != false) ? get_option('minFICO') : 'some_deafault_value'),
'propertyAppraisedValue' => ((get_option('propertyAppraisedValue') != false) ? get_option('propertyAppraisedValue') : 'some_deafault_value'),
'loanAmount' => ((get_option('loanAmount') != false) ? get_option('loanAmount') : 'some_deafault_value')));

注意,这假定loanTermloanTypequote_types_to_return的值'a', 'b', 'c'存储在数据库中